上传系列:jquery.upload.js

最近想做一个上传的总结,把自己用过的上传插件都写一写,哪天用到的时候就不用再一次的翻阅资料,现在页面上用到的上传插件,原理上都差不多,那我也就不再废话了,下面我主要记录一下几个比较常用的,由简到繁,这里我只写代码,其它的就不在啰嗦了:

  • jquery.upload.js
  • ajaxupload.js
  • uploadify
  • SWFUpload

jquery.upload.js


  这里只写主要的,至于js的引用我就不用说了是吧,自己添加上就行,我就不写了。

  前台html代码:

 1 <html>
 2 <head>
 3     <meta name="viewport" content="width=device-width" />
 4     <title></title>
 5     <script>
 6         /*文件上传*/
 7         function upload() {
 8             $.upload({                      // 上传方法
 9                 url: ‘/System/Upload‘,      // 上传地址
10                 fileName: ‘uploadfile‘,     // 文件域名字
11                 params: { name: ‘pxblog‘ }, // 其他表单数据
12                 dataType: ‘json‘,           // 上传完成后, 返回json, text
13                 onSend: function () {       // 上传之前回调,return true表示可继续上传
14                     return true;
15                 },
16                 onSubmit: function () {
17                 },
18                 onComplate: function (data) {   // 上传之后回调
19                     if (data.msg) {
20
21                     } else {
22                         alert("上传图片出错!");
23                     }
24                 }
25             })
26         }
27     </script>
28 </head>
29 <body>
30     <div>
31         <input type="button" onclick="upload()" value="点击上传" />
32     </div>
33 </body>
34 </html>

  后台接收文件的代码,这里用的MVC

 1 public ActionResult Upload(HttpPostedFileBase FileData)
 2         {
 3             // 如果没有上传文件
 4             if (FileData == null || string.IsNullOrEmpty(FileData.FileName) || FileData.ContentLength == 0)
 5             {
 6                 return this.HttpNotFound();
 7             }
 8             string filename = Path.GetFileName(FileData.FileName);  //获得文件名
 9             string extension = Path.GetExtension(FileData.FileName);//获得文件扩展名
10             string phyPath = Request.MapPath("/Upload/");
11             if (!Directory.Exists(phyPath))
12             {
13                 Directory.CreateDirectory(phyPath);
14             }
15             decimal newid = Math.Abs(Guid.NewGuid().GetHashCode());
16             string filepath = phyPath + newid + extension;
17             FileData.SaveAs(filepath);
18             return Content(newid + extension);
19         }

  缺点:

  这种方式,有个缺点,而且还是在IE上,想想就郁闷,很多乱七八糟的问题都出现在IE上,微软咋就不能好好整整IE啊。

  如果咱们返回方式选择json的时候,IE有的版本会弹框提示下载,哎,遇到这种问题,也真是够倒霉的,没办法,自求多福吧

上传系列:jquery.upload.js

时间: 2024-11-07 23:29:27

上传系列:jquery.upload.js的相关文章

上传系列:ajaxupload.js

ajaxupload.js 上次说了jquery.upload.js,这次再说一下ajaxupload.js,这个其实也比较简答,只有一个JS文件: html代码: 1 $(function () { 2 var btnUpload = $('#upload'); 3 new AjaxUpload(btnUpload, { 4 action: '/System/Upload', //上传地址 5 name: 'uploadfile', //文件域名字 6 onSubmit: function (

jQuery文件上传插件jQuery Upload File 有上传进度条

jQuery文件上传插件jQuery Upload File 有上传进度条 2015年05月15日 jQuery文件上传插件jQuery Upload File,插件使用简单,支持单文件和多文件上传,支持文件拖拽上传,有进度条显示.标准HTML form文件上传,也就是说,只要服务端支持接收multipart/form-data格式数据就能使用此上传插件. 本站web端文件文件提交即使用此插件,效果如下: 浏览器支持 浏览器支持:IE 8.0,IE 9.0,IE 10.0,Firefox,Saf

图片裁剪上传插件——jquery.photoClip.js

想要裁剪图片上传: 需要依赖的的插件为: [jquery.photoClip.js] 插件[iscroll-zoom.js] 插件[hammer.js] 插件 [lrz.all.bundle.js] 插件 [jquery-2.1.3.min.js] 在前端页面调取: <div id="clipArea"></div> <input type="file" id="file"> <button id=&qu

图片上传(方法一:jquery.upload.js)

一.在JSP页面引入jquery.upload.js 文件: <script type="text/javascript" src="${ctx}/script/jquery.upload.js"></script> 二.JSP页面代码: <!-- 弹窗 开始 --> <div class="dialog_teachermanage" id="addDialog" style=&quo

关于Plupload结合上传插件jquery.plupload.queue的使用

方便日后查阅!! 事例代码: @import url(common/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css) ; src="http://www.iadpush.com/assets/common/jquery-1.8.2.min.js"> src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"> src="

基于 jq 实现拖拽上传 APK 文件,js解析 APK 信息

技术栈 jquery 文件上传:jquery.fileupload,github 文档 apk 文件解析:app-info-parser,github 文档 参考:前端解析ipa.apk安装包信息 -- app-info-parser 支持功能 点击或拖拽上传 apk 文件 校验文件类型及文件大小 js 解析 apk 文件信息展示并通过上传接口提交给后端 支持上传过程中取消上传 支持上传成功显示上传信息 支持解析.上传等友好提示 支持从历史记录(所有已上传文件)中选择一个 支持假文件处理,比如

支持多文件上传的jQuery文件上传插件Uploadify

支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Flash,主要特性:支持多文件上传.HTML5版本可拖拽上传.实时上传进度条显示.强大的参数定制功能,如文件大小.文件类型.按钮图片定义.上传文件脚本等. Flash版本使用方法: 1.加载JS和CSS ? 1 2 3 <script src="jquery/1.7.1/jquery.min.js

强大的支持多文件上传的jQuery文件上传插件Uploadify

支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Flash,主要特性:支持多文件上传.HTML5版本可拖拽上传.实时上传进度条显示.强大的参数定制功能,如文件大小.文件类型.按钮图片定义.上传文件脚本等. Flash版本使用方法: 1.加载JS和CSS ? 1 2 3 <script src="jquery/1.7.1/jquery.min.js

android图片压缩上传系列-service篇

本篇文章是继续上篇android图片压缩上传系列-基础篇文章的续篇.主要目的是:通过Service来执行图片压缩任务来讨论如何使用Service,如何处理任务量大的并发问题. 了解下Service 大家都知道如果有费时任务,这时需要将任务放到后台线程中执行,如果对操作的结果需要通过ui展示还需要在任务完成后通知前台更新.当然对于这种情况,大家也可以在Activity中启动线程,在线程中通过Handler和sendMessage来通知Activity并执行更新ui的操作,但是更好的方法是将这些操作