JQuery的ajaxFileUpload图片上传初试

本案例主要说讲使用ajaxFileUpload实现图片的异步上传。

1、html代码部分

这里的代码,主要设置一下name,后台获取时候要用到,还有设置一个onchange的事件对应的方法:ajaxFileUpload()

1 插入图片:<input style="display:initial;" type="file" alt="插入图片" id="uploadImage" onchange="ajaxFileUpload()" name="uploadImage" /> </span>

html代码

2、js部分代码

使用这部分代码,需要引入jq和ajaxfileupload.js这两个文件。在这里主要设置上传路径和对返回的结果做相应的处理

 1 //文件上传
 2 function ajaxFileUpload() {
 3
 4     //图片格式验证
 5     var x = document.getElementById("uploadImage");
 6     if (!x || !x.value) return;
 7     var patn = /\.jpg$|\.jpeg$|\.png$|\.gif$/i;
 8     if (!patn.test(x.value)) {
 9         alert("您选择的似乎不是图像文件。");
10         x.value = "";
11         return;
12     }
13
14     var elementIds = ["uploadImage"]; //flag为id、name属性名
15     $.ajaxFileUpload({
16         url: ‘/Forum/SaveImage‘,//上传的url,根据自己设置
17         type: ‘post‘,
18         secureuri: false, //一般设置为false
19         fileElementId: ‘uploadImage‘, // 上传文件的id、name属性名
20         dataType: ‘text‘, //返回值类型,一般设置为json、application/json
21         elementIds: elementIds, //传递参数到服务器
22         success: function (data, status) {
23             //alert(data);
24             if (data == "Error1") {
25                 alert("文件太大,请上传不大于5M的文件!");
26                 return;
27             } else if (data == "Error2") {
28                 alert("上传失败,请重试!");
29                 return;
30             } else {
31                 //这里为上传并做一下请求显示处理,返回的data是对应上传的文件名
32                 $("#ReplyContent").append("<img width=‘300‘ height=‘300‘ src=‘" + "../UploadFile/ForumImages/" + data + "‘/>");
33
34             }
35         },
36         error: function (data, status, e) {
37             alert(e);
38         }
39     });
40     //return false;
41 }

JS

3、后台处理代码(此处为C#)

后台的处理主要有对上传文件的格式验证,文件大小验证,给文件重命名和设置一下保存路径,最后返回图片的新名字。这样js就可以根据路径去请求该图片并展示出来。

 1 try
 2             {
 3                 //判断上传文件的数目
 4                 if (Request.Files.Count > 0)
 5                 {
 6                     //获取文件
 7                     HttpPostedFileBase proImage = Request.Files["upload"];//获取上传的图片
 8
 9
10                     //判断上传文件大小,小于5M
11                     if (proImage.ContentLength > 5 * 1024 * 1024)
12                     {
13                         return Content("Error1");
14                     }
15
16                     //截取图片类型:image/png
17                     string[] filetypes = proImage.ContentType.Split(‘/‘);
18
19                     //判断文件的类型
20                     if (filetypes[1] == "jpg" || filetypes[1] == "gif" || filetypes[1] == "png" || filetypes[1] == "bmg" || filetypes[1] == "jpeg")
21                     {
22                         //给上传文件重命名
23                         string filename = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Guid.NewGuid().ToString();
24
25                         //文件保存的路径
26                         string filesavepath = Server.MapPath("~/Uploadfile/ForumImages/" + filename + "." + filetypes[1]);
27
28                         //保存图片
29                         proImage.SaveAs(filesavepath);
30
31
32
33                        //返回文件名,可以在前台展示出来
34                        return Content(filename + "." + filetypes[1]);
35                     }
36                     else
37                     {
38                         //图片格式不对
39                        return Content("Error2");
40                     }
41
42
43                 }
44                 else
45                 {    //上传图片数目小于或者等于0
46                     return Content("Error1");
47                 }
48             }
49             catch {
50                 return Content("Error2");
51             }

c#代码

时间: 2024-10-06 09:14:07

JQuery的ajaxFileUpload图片上传初试的相关文章

jQuery插件-ajaxFileUpload异步上传文件

ajaxFileUpload是前两天学习过程中接触到的一个JQ插件,功能很简单,就是实现异步上传文件的功能. 1.语法介绍 $.ajaxFileUpload([setting]); 参数说明: (1)url——执行上传处理的地址: (2)secureuri——是否启用安全提交,默认为false: (3)fileElementId——需要上传<input type=”file”>控件id属性值: (4)data——自定义参数,即需要额外传递的JSON格式数据: (5)type——请求方式,提交自

【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)

前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现ajaxFileUpload这个插件挺不错,所以就用这个插件来做异步上传文件的效果.网上也有很多对ajaxFileUpload插件的使用的文章,不过我发现没有PHP版,所以这次服务器那边的处理就使用PHP语言来处理. 一.先对ajaxFileUpload插件的语法参数进行讲解 原理:ajaxfileu

jquery之ajaxfileupload异步上传插件

来自:http://www.blogjava.net/sxyx2008/archive/2010/11/02/336826.html 由于项目需求,在处理文件上传时需要使用到文件的异步上传.这里使用Jquery Ajax File Uploader这个组件下载地址:http://www.phpletter.com/download_project_version.php?version_id=6服务器端采用struts2来处理文件上传.所需环境:jquery.jsajaxfileupload.j

JQuery插件ajaxFileUpload 异步上传文件(PHP版)

太久没写博客了,真的是太忙了.善于总结,进步才会更快啊.不多说,直接进入主题. 前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现ajaxFileUpload这个插件挺不错,所以就用这个插件来做异步上传文件的效果.网上也有很多对ajaxFileUpload插件的使用的文章,不过我发现没有PHP版,所以这次服务器那边的处理就使用PHP语言来处理. 一.

jQuery:[1]实现图片上传并预览

jQuery:[1]实现图片上传并预览 原理 预览思路 1.当上传对象的input被触发并选择本地图片之后获取要上传的图片对象的URL: 2.把对象URL赋值给实现写好的img标签的src属性 File对象 File对象可以用来获取文件的信息,还可以用来读取这个文件的内容,通常情况下,File对象是来自用户在一个input元素上选择文件后返回的FileList对象,也可以是来自由拖放操作生成的DataTransfer对象. Blob对象 Blob对象是一个包含由只读原始数据的类文件对象,Blob

JQuery插件ajaxFileUpload 异步上传文件

一.先对ajaxFileUpload插件的语法参数进行讲解 原理:ajaxfileupload是通过监听iframe的onload方法来实现, 当从服务端处理完成后,就触发iframe的onload事件调用其绑定的方法,在绑定的方法中获取iframe中服务器返回的数据体(支持的普通文本,json,xml,script, html) 语法:$.ajaxFileUpload([options]) 参数说明: 1,url  上传处理程序地址,也就是我发送给服务器端所要处理上传的地址. 2,fileEl

关于ajaxFileUpload图片上传,success和error都触发的情况

最近做到项目使用JQuery的插件ajaxFileUpload~~~ 遇到了非常领人匪夷所思的事情,当图片上传成功之后呢(success),它的error事件也被触发了,情况就是: 后端数据正确返回 前端代码无误 代码如下: 1 $(document).on("change",".JS_uploadFile",function(){ 2 document.domain="bookingctrip.com";//解决图片上传跨域问题 3 var a

Jquery插件-Html5图片上传并裁剪

/** * 图片裁剪 * @author yanglizhe * 2015/11/16 */ (function($){ /** * Drag */ var Drag={obj:null,init:function(elementHeader,element){elementHeader.onmousedown=Drag.start;elementHeader.obj=element;if(isNaN(parseInt(element.style.left))){element.style.le

JQuery插件:图片上传本地预览插件,改进案例一则。

/* *名称:图片上传本地预览插件 v1.1 *作者:周祥 *时间:2013年11月26日 *介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari *插件网站:http://keleyi.com/keleyi/phtml/image/16.htm *参数说明: Img:图片ID;Width:预览宽度;Height:预览高度;ImgType:支持文件类型;Callback:选择文件显示图片后回调方法; *使用方法: <div> <img id