文件上传--ajaxFileUpload
来源:互联网 发布:二次元软件app推荐 编辑:程序博客网 时间:2024/06/11 01:41
语法:$.ajaxFileUpload([options])
options参数说明:
1、url 上传处理程序地址。
2,fileElementId 需要上传的文件域的ID,即<input type="file">的ID。
3,secureuri 是否启用安全提交,默认为false。
4,dataType 服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
5,success 提交成功后自动执行的处理函数,参数data就是服务器返回的数据。
6,error 提交失败自动执行的处理函数。
7,data 自定义参数。这个东西比较有用,当有数据是与上传的图片相关的时候,这个东西就要用到了。
8, type 当要提交自定义参数时,这个参数要设置成post
错误提示:
1,SyntaxError: missing ; before statement错误
如果出现这个错误就需要检查url路径是否可以访问
2,SyntaxError: syntax error错误
如果出现这个错误就需要检查处理提交操作的服务器后台处理程序是否存在语法错误
3,SyntaxError: invalid property id错误
如果出现这个错误就需要检查文本域属性ID是否存在
4,SyntaxError: missing } in XML expression错误
如果出现这个错误就需要检查文件name是否一致或不存在
5,其它自定义错误
大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。
options参数说明:
1、url 上传处理程序地址。
2,fileElementId 需要上传的文件域的ID,即<input type="file">的ID。
3,secureuri 是否启用安全提交,默认为false。
4,dataType 服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
5,success 提交成功后自动执行的处理函数,参数data就是服务器返回的数据。
6,error 提交失败自动执行的处理函数。
7,data 自定义参数。这个东西比较有用,当有数据是与上传的图片相关的时候,这个东西就要用到了。
8, type 当要提交自定义参数时,这个参数要设置成post
错误提示:
1,SyntaxError: missing ; before statement错误
如果出现这个错误就需要检查url路径是否可以访问
2,SyntaxError: syntax error错误
如果出现这个错误就需要检查处理提交操作的服务器后台处理程序是否存在语法错误
3,SyntaxError: invalid property id错误
如果出现这个错误就需要检查文本域属性ID是否存在
4,SyntaxError: missing } in XML expression错误
如果出现这个错误就需要检查文件name是否一致或不存在
5,其它自定义错误
大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。
使用方法:
第一步:先引入jQuery与ajaxFileUpload插件。注意先后顺序,这个不用说了,所有的插件都是这样。
<script src="jquery.js" type="text/javascript"></script> <script src="ajaxfileupload.js" type="text/javascript"></script>
第二步:HTML代码:
<body> <p><input type="file" id="file1" name="file" /></p> <input type="button" value="上传" /> <p><img id="img1" alt="上传成功" src="" /></p></body>第三步:JS代码:
<script src="jquery-1.7.1.js" type="text/javascript"></script> <script src="ajaxfileupload.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $(":button").click(function () { ajaxFileUpload(); }) }) function ajaxFileUpload() { $.ajaxFileUpload ( { url: '/upload.aspx', //用于文件上传的服务器端请求地址 secureuri: false, //是否需要安全协议,一般设置为false fileElementId: 'file1', //文件上传域的ID dataType: 'json', //返回值类型 一般设置为json success: function (data, status) //服务器成功响应处理函数 { $("#img1").attr("src", data.imgurl); if (typeof (data.error) != 'undefined') { if (data.error != '') { alert(data.error); } else { alert(data.msg); } } }, error: function (data, status, e)//服务器响应失败处理函数 { alert(e); } } ) return false; } </script>第四步:后台页面upload.aspx代码:
1.
/** 通过流的方式上传文件* @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象*/ @RequestMapping("fileUpload")public String fileUpload(@RequestParam("file") CommonsMultipartFile file) throws IOException { //用来检测程序运行时间 long startTime=System.currentTimeMillis(); System.out.println("fileName:"+file.getOriginalFilename()); try {//获取输出流OutputStream os=new FileOutputStream("E:/"+new Date().getTime()+file.getOriginalFilename()); //获取输入流 CommonsMultipartFile 中可以直接得到文件的流 InputStream is=file.getInputStream(); int temp; //一个一个字节的读取并写入 while((temp=is.read())!=(-1)) { os.write(temp); } os.flush(); os.close(); is.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}long endTime=System.currentTimeMillis();System.out.println("方法一的运行时间:"+String.valueOf(endTime-startTime)+"ms");return "/success";}2.
/** 采用file.Transto 来保存上传的文件*/@RequestMapping("fileUpload2")public String fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException { long startTime=System.currentTimeMillis();System.out.println("fileName:"+file.getOriginalFilename());String path="E:/"+new Date().getTime()+file.getOriginalFilename();File newFile=new File(path);//通过CommonsMultipartFile的方法直接写文件(注意这个时候)file.transferTo(newFile);long endTime=System.currentTimeMillis();System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");return "/success";}3.
/**采用spring提供的上传文件的方法*/ @RequestMapping("springUpload")public String springUpload(HttpServletRequest request) throws IllegalStateException, IOException{ long startTime=System.currentTimeMillis(); //将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(request.getSession().getServletContext());//检查form中是否有enctype="multipart/form-data"if(multipartResolver.isMultipart(request)){//将request变成多部分requestMultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request; //获取multiRequest 中所有的文件名Iterator iter=multiRequest.getFileNames();while(iter.hasNext()){//一次遍历所有文件MultipartFile file=multiRequest.getFile(iter.next().toString());if(file!=null){String path="E:/springUpload"+file.getOriginalFilename();//上传file.transferTo(new File(path));}} }long endTime=System.currentTimeMillis();System.out.println("方法三的运行时间:"+String.valueOf(endTime-startTime)+"ms");return "/success";}
阅读全文
0 0
- ajaxfileupload ajax文件上传
- ajaxfileupload文件上传
- ajaxfileupload 多文件上传
- ajaxFileUpload插件上传文件
- ajaxFileupload多文件上传
- ajaxFileUpload 多文件上传
- ajaxfileupload 文件上传
- AjaxFileUpload实现文件上传
- JQuery ajaxfileupload上传文件
- ajaxfileupload+springMVC上传文件
- ajaxFileupload多文件上传
- ajaxFileUpload 上传文件
- ajaxFileUpload 异步上传文件
- ajaxfileupload多文件上传
- $.ajaxFileUpload文件上传
- ajaxfileupload文件上传
- ajaxFileUpload ajax文件上传
- 使用ajaxfileupload上传文件
- picturebox图片框
- unity heatmap 热度图的颜色获取
- 搭建JEESZ分布式架构3--CentOs下安装MySQL(环境准备)
- python导入requests库一直报错原因总结
- Node.js 之一:创建服务
- 文件上传--ajaxFileUpload
- 关于ajax的get提交中文乱码问题探究及解决办法
- docker(一):Mac docker 安装
- UE4摄像机系统解析
- Scala学习八:Map, Tuple
- 金山笔试题-字符串中的字符’*‘移到串的前部分
- u盘安装ubuntu 14.04 server问题解决
- 谷歌将Kotlin作为官方语言,并在Android Studio中支持
- java 数据库连接