struts2 + ajaxfileupload.js 多图上传
来源:互联网 发布:广东省发票打印软件 编辑:程序博客网 时间:2024/05/22 17:25
原有的ajaxfileupload.js 只支持单个图片上传
在它的基础上做了一点修改,支持多图上传
修改点:
1.jsp 页面的 input 加入 multiple
可以支持上传多个文件的选中
<input type="file" id="file" name="file" multiple />
2.action 中 file 和 fileFileName 改成数组
private File[] file;
private String[] fileFileName;
3.struts
struts.xml文件中只有以下是和上传相关,其中 struts.multipart.maxSize 是上传总文件大小限制
<constant name="struts.multipart.maxSize" value="9000000"/>
<package name="struts2" namespace="/upload" extends="json-default">
<action name="fileUploadAction" class="action.FileAction">
</action>
在它的基础上做了一点修改,支持多图上传
修改点:
1.jsp 页面的 input 加入 multiple
可以支持上传多个文件的选中
<input type="file" id="file" name="file" multiple />
2.action 中 file 和 fileFileName 改成数组
private File[] file;
private String[] fileFileName;
3.struts
struts.xml文件中只有以下是和上传相关,其中 struts.multipart.maxSize 是上传总文件大小限制
<constant name="struts.multipart.maxSize" value="9000000"/>
<package name="struts2" namespace="/upload" extends="json-default">
<action name="fileUploadAction" class="action.FileAction">
</action>
</package>
源程序:
1.struts2
<constant name="struts.multipart.maxSize" value="9000000"/> <package name="struts2" namespace="/upload" extends="json-default"> <action name="fileUploadAction" class="action.FileAction"> </action> </package>
2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="./js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="./js/ajaxfileupload.js"></script> <script type="text/javascript"> function ajaxFileUpload() { $("#loading") .ajaxStart(function(){ $(this).show(); })//开始上传文件时显示一个图片 .ajaxComplete(function(){ $(this).hide(); });//文件上传完成将图片隐藏起来 $.ajaxFileUpload ( { url:'upload/fileUploadAction.action',//用于文件上传的服务器端请求地址 secureuri:false,//一般设置为false fileElementId:'file',//文件上传空间的id属性 <input type="file" id="file" name="file" /> dataType: 'json',//返回值类型 一般设置为json success: function (data, status) //服务器成功响应处理函数 { // var list = data; for(var i=0;i<data.length;i++) { alert(data[i]); } }, error: function (data, status, e)//服务器响应失败处理函数 { alert(e); } } ) return false; } </script> </head> <body> <img src="loading.gif" id="loading" style="display: none;"> <br /> <input type="file" id="file" name="file" multiple /> <input type="button" value="上传" onclick="return ajaxFileUpload();"> </body></html>
3.action
package action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class FileAction extends ActionSupport { private File[] file; private String[] fileFileName; private String fileFileContentType; private String message = "你已成功上传文件"; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public File[] getFile() {return file;}public void setFile(File[] file) {this.file = file;} public String[] getFileFileName() {return fileFileName;}public void setFileFileName(String[] fileFileName) {this.fileFileName = fileFileName;}public String getFileFileContentType() { return fileFileContentType; } public void setFileFileContentType(String fileFileContentType) { this.fileFileContentType = fileFileContentType; } @SuppressWarnings("deprecation") @Override public String execute() throws Exception { String path = ServletActionContext.getRequest().getRealPath("/upload"); File[] f = this.getFile(); System.out.println(f.length); List<String> imageList = new ArrayList<String>(); for(int i=0;i<f.length;i++) { if(this.fileFileName[i].endsWith(".exe")){ message="对不起,你上传的文件格式不允许!!!"; return CommonUtil.jsonOut("error"); } try { FileInputStream inputStream = new FileInputStream(f[i]); System.out.println(this.getFileFileName()); FileOutputStream outputStream = new FileOutputStream(path + "/"+ this.fileFileName[i]); byte[] buf = new byte[1024]; int length = 0; while ((length = inputStream.read(buf)) != -1) { outputStream.write(buf, 0, length); } inputStream.close(); outputStream.flush(); }catch (Exception e) { e.toString(); } imageList.add(path + "/"+ this.fileFileName[i]); } return CommonUtil.jsonOut(imageList); }}
0 0
- struts2 + ajaxfileupload.js 多图上传
- struts2+ajaxfileupload.js实现多文件上传
- ajaxFileUpload+struts2实现多文件上传
- ajaxFileUpload+Struts2文件上传
- ajaxfileupload.js、struts2、ajax、json异步上传图片
- AjaxFileupload.js实现多文件上传
- ajaxfileupload.js上传文件
- struts2与ajaxFileUpload异步上传
- ajaxfileupload+struts2文件上传、下载
- ajaxfileupload.js异步上传图片
- 使用ajaxfileupload.js上传文件
- HTML5上传文件ajaxfileupload.js
- ajaxFileUpload单图上传
- ajaxfileupload 多文件上传
- ajaxFileupload多文件上传
- ajaxFileUpload 多文件上传
- ajaxFileupload多文件上传
- ajaxfileupload多文件上传
- 百度翻译api 网页应用
- COLORREF 和RGBQUAD的区别
- RMQ 之 ST算法的使用 【总结】 【附带求固定区间长度的一维技巧】
- HashSet如何保证元素的唯一性-跟踪源码解析
- MDK程序无法运行
- struts2 + ajaxfileupload.js 多图上传
- 【Lua】【1】Lua游戏脚本语言入门(转载)
- HDU 4417 Super Mario
- ffmpeg 制作水印方法
- 用qt实现的一个地理数据浏览器
- memset使用注意事项
- js格式文件中获取JSP变量的方法
- iOS 8 新特性介绍
- HessianPHP使用注意事项