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中,可以利用其提供的FileInput组件创建一个文件选择器,用户可以选择文件并提交到服务器。Struts2则在服务器端处理文件上传...
网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。
在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...
总结来说,Struts2+ExtJS3组合可以有效地实现文件上传功能,无论是在后台处理还是在前端交互方面都有很好的支持。提供的资源包含了所有必要的JAR包,使得开发者可以快速集成并理解代码,减少了额外的下载和配置工作...
使用Struts2的拦截器可以进行安全检查,比如验证文件类型、大小,以及防止恶意文件上传。 总之,"extjs struts2 多图片批量上传控件"是一个整合了前后端技术的实用功能,它结合了ExtJS的用户界面优势和Struts2的...
在本文中,我们将深入探讨如何使用ExtJS4和Struts2框架实现文件上传功能。首先,让我们了解一下这两个关键技术和它们在文件上传中的作用。 **ExtJS4:** ExtJS4是一个强大的JavaScript库,用于构建富客户端应用程序...
Extjs+struts实现文件上传 使用说明中的UploadfileAction.java中的代码要拷贝到一个JSP文件中并将url: '/rsgl/uploadfile.do',改为url: '/rsgl/jspcos.jsp',才可以正常上传
在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...
功能强大的Struts2.0+Extjs实现的文件上传,包含文件上传进度,文件的下载,压缩,解压多文件删除等
本项目“extjs3.2+struts2实现多文件上传excel并插入到数据库”是针对这一需求的具体解决方案,利用了ExtJS 3.2前端框架和Struts2后端框架进行开发。 **ExtJS 3.2** 是一个基于JavaScript的富客户端应用框架,提供...
"ext struts2 swfupload 跨域文件上传"这个主题涉及到三个关键技术和概念:EXTJS(Ext JS)、Struts2以及SwfUpload,它们共同解决了Web应用中的跨域文件上传问题。 EXTJS是一种强大的JavaScript库,用于构建富...
在本文中,我们将深入探讨如何使用Ext3.2与Struts框架实现文件上传功能,同时解决中文乱码问题。这两个技术结合在一起,可以为Web应用提供高效、稳定的文件上传解决方案。 首先,Ext3.2是一个JavaScript库,它提供...
通过以上步骤,我们可以利用ExtJS的用户界面和Struts2的后台处理能力,实现一个完整的多文件上传功能。这个功能不仅提高了用户体验,还简化了开发流程。在实际项目中,还可以进一步优化,例如添加进度条显示、预览...
5. **反馈结果**:当文件上传成功或失败时,Struts2 Action应返回一个结果,这个结果将被ExtJS的UploadDialog解析,从而更新用户界面,显示上传状态。 6. **错误处理**:在前端和后端都要有良好的错误处理机制,...
本文将深入探讨如何使用EXTjs进行文件上传,并结合Strut2实现这一功能。 首先,EXTjs 提供了`Ext.form.FileField`组件,用于在表单中创建文件选择字段。这个组件允许用户选择本地文件,然后通过AJAX方式提交到...
在文件上传中,Struts接收前端ExtJS发送的文件数据,处理上传请求,调用服务层方法,将文件保存到服务器的指定位置,并将上传结果返回给前端。 3. Hibernate:这是Java领域的一个ORM(对象关系映射)框架,它简化了...
在文件上传中,Struts2的动作类可以接收上传的文件,进行验证、存储等操作。 **4. Spring**:Spring框架不仅提供了依赖注入和面向切面编程,还支持Web应用的开发。在s2sh组合中,Spring主要负责管理Bean,包括...
同时,要配置拦截器,以实现Struts2的核心功能,如模型驱动、文件上传等。 3. **ExtJS集成**:在前端,你需要引入ExtJS库,并创建视图组件,如Grid、Form、Panel等。通过Ajax请求与Struts2 Action进行通信,获取...
以上就是EXTJS_.7z文件上传涉及的一些核心知识点,包括EXTJS的文件上传组件、与之配合的服务器端技术如Struts2和Spring MVC,以及相关工具和资源。在实际项目中,开发者需要理解这些技术并灵活运用,以实现安全、...
【标签】"点击上传弹出上传对话框extjs+strust2.rar" 确认了主题,强调了这个资源是关于文件上传功能的实现,使用了ExtJS和Struts2这两个技术栈。 压缩包内的文件名列表虽然只有一个"a",但通常情况下,这可能会...