`

Extjs Struts2文件上傳

阅读更多

struts action 輸入流的方式:

public String savePictures() throws Exception {
		String newFileName = null;
		BufferedOutputStream bos = null;
		BufferedInputStream bis = null;
		String reInfo = "";// 上传成功返回的东西
		for (int i = 0; i < pictureFile.size(); i++) {
			long now = new Date().getTime();
			int index = pictureFileFileName.get(i).lastIndexOf('.');
			String path = ServletActionContext.getServletContext().getRealPath(
					"a");
			File dir = new File(path);
			if (!dir.exists())
				dir.mkdir();// 创建个文件夹
			if (index != -1) {
				newFileName = pictureFileFileName.get(i).substring(0, index)
						+ "-" + now
						+ pictureFileFileName.get(i).substring(index);// 生成新文件名
			} else {
				newFileName = pictureFileFileName.get(i) + "-" + now;
			}
			reInfo += newFileName + "@";
			bos = null;
			bis = null;
			try {
				FileInputStream fis = new FileInputStream(pictureFile.get(i)); // /////////
				bis = new BufferedInputStream(fis);
				FileOutputStream fos = new FileOutputStream(new File(dir,
						newFileName));
				bos = new BufferedOutputStream(fos);
				byte[] buf = new byte[4096];
				int len = -1;
				while ((len = bis.read(buf)) != -1) {
					bos.write(buf, 0, len);
				}
			} catch (Exception e) {
				try {
					String msg = "{success:false,errors:{name:'上传错误'}}";
					response.getWriter().write(msg);
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			} finally {
				try {
					if (null != bis)
						bis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}

				try {
					if (null != bos)
						bos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		response.setContentType("text/html;charset=UTF-8");
		response.setHeader("Cache", "no-cache");
		PrintWriter out = null;
		try {
			out = response.getWriter();
			out.write("{success:true}");
		} catch (Exception e) {
			Log4JFactory.instance().error(Util.SITE_LOG +" savePictures failed", e);
		}finally {
			if (out != null) {
				out.close();
			}
		}
		return SUCCESS;
	}

 或者是:包裝方法

public String uploadfiles() {
		// 定义保存的路径
		String savepath = getSavePath();
		// 根据路径创建文件路径对象
		File file = new File(savepath);
		if (!file.exists()) {
			file.mkdirs();
		}
		try {
			for (int i = 0; i < pic.length; i++) {
				FileUtils.copyFile(pic[i], new File(file, getPicFileName()[i]));
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return "SUCCESS";

	}

 

分享到:
评论

相关推荐

    能运行的ExtJs+Struts2文件上传

    标题"能运行的ExtJs+Struts2文件上传"表明这是一个实现了文件上传功能的示例项目。在ExtJs中,可以利用其提供的FileInput组件创建一个文件选择器,用户可以选择文件并提交到服务器。Struts2则在服务器端处理文件上传...

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    Extjs4文件上传,后台struts2

    在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...

    struts2+extjs3 单/多文件上传

    总结来说,Struts2+ExtJS3组合可以有效地实现文件上传功能,无论是在后台处理还是在前端交互方面都有很好的支持。提供的资源包含了所有必要的JAR包,使得开发者可以快速集成并理解代码,减少了额外的下载和配置工作...

    extjs struts2 多图片批量上传控件

    使用Struts2的拦截器可以进行安全检查,比如验证文件类型、大小,以及防止恶意文件上传。 总之,"extjs struts2 多图片批量上传控件"是一个整合了前后端技术的实用功能,它结合了ExtJS的用户界面优势和Struts2的...

    ExtJS4+strtus2文件上传实例源码

    在本文中,我们将深入探讨如何使用ExtJS4和Struts2框架实现文件上传功能。首先,让我们了解一下这两个关键技术和它们在文件上传中的作用。 **ExtJS4:** ExtJS4是一个强大的JavaScript库,用于构建富客户端应用程序...

    Extjs+struts实现文件上传

    Extjs+struts实现文件上传 使用说明中的UploadfileAction.java中的代码要拷贝到一个JSP文件中并将url: '/rsgl/uploadfile.do',改为url: '/rsgl/jspcos.jsp',才可以正常上传

    ExtJS实现多文件上传UploadDialog For ExtJS3.x

    在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...

    struts2.0+Extjs文件上传例子

    功能强大的Struts2.0+Extjs实现的文件上传,包含文件上传进度,文件的下载,压缩,解压多文件删除等

    extjs3.2+struts2实现多文件上传excel并插入到数据库

    本项目“extjs3.2+struts2实现多文件上传excel并插入到数据库”是针对这一需求的具体解决方案,利用了ExtJS 3.2前端框架和Struts2后端框架进行开发。 **ExtJS 3.2** 是一个基于JavaScript的富客户端应用框架,提供...

    ext struts2 swfupload 跨域文件上传

    "ext struts2 swfupload 跨域文件上传"这个主题涉及到三个关键技术和概念:EXTJS(Ext JS)、Struts2以及SwfUpload,它们共同解决了Web应用中的跨域文件上传问题。 EXTJS是一种强大的JavaScript库,用于构建富...

    Ext3.2 + struts 文件上传实例

    在本文中,我们将深入探讨如何使用Ext3.2与Struts框架实现文件上传功能,同时解决中文乱码问题。这两个技术结合在一起,可以为Web应用提供高效、稳定的文件上传解决方案。 首先,Ext3.2是一个JavaScript库,它提供...

    Ext+Struts2多文件上传

    通过以上步骤,我们可以利用ExtJS的用户界面和Struts2的后台处理能力,实现一个完整的多文件上传功能。这个功能不仅提高了用户体验,还简化了开发流程。在实际项目中,还可以进一步优化,例如添加进度条显示、预览...

    使用ExtJs的插件UploadDialog+struts2.0实现多文件上传

    5. **反馈结果**:当文件上传成功或失败时,Struts2 Action应返回一个结果,这个结果将被ExtJS的UploadDialog解析,从而更新用户界面,显示上传状态。 6. **错误处理**:在前端和后端都要有良好的错误处理机制,...

    EXTjs 文件上传(可用)

    本文将深入探讨如何使用EXTjs进行文件上传,并结合Strut2实现这一功能。 首先,EXTjs 提供了`Ext.form.FileField`组件,用于在表单中创建文件选择字段。这个组件允许用户选择本地文件,然后通过AJAX方式提交到...

    extjs+struts+hibernate做的文件批量上传源代码

    在文件上传中,Struts接收前端ExtJS发送的文件数据,处理上传请求,调用服务层方法,将文件保存到服务器的指定位置,并将上传结果返回给前端。 3. Hibernate:这是Java领域的一个ORM(对象关系映射)框架,它简化了...

    extjs与swfupload实现java文件批量上传 s2sh

    在文件上传中,Struts2的动作类可以接收上传的文件,进行验证、存储等操作。 **4. Spring**:Spring框架不仅提供了依赖注入和面向切面编程,还支持Web应用的开发。在s2sh组合中,Spring主要负责管理Bean,包括...

    Struts2与extjs整合例子

    同时,要配置拦截器,以实现Struts2的核心功能,如模型驱动、文件上传等。 3. **ExtJS集成**:在前端,你需要引入ExtJS库,并创建视图组件,如Grid、Form、Panel等。通过Ajax请求与Struts2 Action进行通信,获取...

    EXTJS_.7z文件上传

    以上就是EXTJS_.7z文件上传涉及的一些核心知识点,包括EXTJS的文件上传组件、与之配合的服务器端技术如Struts2和Spring MVC,以及相关工具和资源。在实际项目中,开发者需要理解这些技术并灵活运用,以实现安全、...

    点击上传弹出上传对话框extjs+strust2.rar

    【标签】"点击上传弹出上传对话框extjs+strust2.rar" 确认了主题,强调了这个资源是关于文件上传功能的实现,使用了ExtJS和Struts2这两个技术栈。 压缩包内的文件名列表虽然只有一个"a",但通常情况下,这可能会...

Global site tag (gtag.js) - Google Analytics