jquery图片上传
总结两个图片上传的方法:
一:使用jquery.form中的ajaxSubmit来实现上传。
<script src="~/JavaScript/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="~/JavaScript/jquery.form.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//异步上传图片
$("#btnUpload").click(function () {
if ($.trim($("#fileUp").val()) == "") {
alert("请选择一个图片文件,再点击上传。");
return;
}
if (!isImageFileName($.trim($("#fileUp").val()))) {
alert("请选择一个图片文件,文件类型错误。");
return;
}
$('#formFile').ajaxSubmit({
success: function (msg) {
if (msg.indexOf("UserFolder") != -1) {
var start = msg.indexOf(">");
if (start != -1) {
var end = msg.indexOf("<", start + 1);
if (end != -1) {
msg = msg.substring(start + 1, end);
}
}
$("#upLoadImageShow").attr('src', msg);//这里是重新设置图片的地址
}
else {
alert(msg);
}
}
});
});
}); function isImageFileName(str) {
var reg = /([0-9]{1,}.jpg)|([0-9]{1,}.gif)|([0-9]{1,}.png)|([0-9]{1,}.bmp)/;
if (reg.test(str)) {
return true;
}
return false;
}
</script>
<div>
<form id='formFile' name='formFile' method="post" action="/Home/UpLoadDemo2" target='frameFile' enctype="multipart/form-data">
<div>
<img alt="" src="~/Image/0.jpg" id="upLoadImageShow" width="130" height="130" />
<input type='file' id='fileUp' name='fileUp' title="选择照片" />
<input id="btnUpload" type="button" name="" value="上传" />
</div>
</form>
</div>
[HttpPost]
public JsonResult UpLoadDemo2()
{
//定义错误消息
string msg = "";
//接受上传文件
HttpPostedFileBase hp = Request.Files["fileUp"];
if (hp == null)
{
msg = "请选择文件.";
}
//获取上传目录 转换为物理路径
string uploadPath = Server.MapPath("~/UserFolder/");
//获取文件名
string fileName = DateTime.Now.Ticks.ToString() + System.IO.Path.GetExtension(hp.FileName);
//获取文件大小
long contentLength = hp.ContentLength;
//文件不能大于1M
if (contentLength > * )
{
msg = "文件大小超过限制要求.";
}
//保存文件的物理路径
string saveFile = uploadPath + fileName;
try
{
//保存文件
hp.SaveAs(saveFile);
msg = "/UserFolder/" + fileName;
}
catch
{
msg = "上传失败.";
} JsonResult rs = Json(msg);
rs.ContentType = "text/html";
return rs;
}
二:使用jquery.uploadify实现上传。
<script src="~/JavaScript/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="~/Content/uploadify/jquery.uploadify.min.js" type="text/javascript"></script>
<link href="~/Content/uploadify/uploadify.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function () {
$('#uploadify').uploadify({
uploader: '/Home/upload', // 服务器端处理地址
swf: '/Content/uploadify/uploadify.swf', // 上传使用的 Flash width: 60, // 按钮的宽度
height: 23, // 按钮的高度
buttonText: "上传", // 按钮上的文字
buttonCursor: 'hand', // 按钮的鼠标图标 fileObjName: 'Filedata', // 上传参数名称 // 两个配套使用
fileTypeExts: "*.jpg;*.png", // 扩展名
fileTypeDesc: "请选择 jpg png 文件", // 文件说明 auto: true, // 选择之后,自动开始上传
multi: true, // 是否支持同时上传多个文件
queueSizeLimit: 5, // 允许多文件上传的时候,同时上传文件的个数
onUploadSuccess: function (file, data, response) { //成功返回内容(data)
$("#upImg").attr("src", "../UserFolder/" + data);
$("#upImg").css("display", "block");
}
});
});
</script> <div>
<h1>uploadify 3.2 文件上传的基本实现</h1>
<p>
使用了 12 个参数
<ul>
<li>uploader: 服务器端接收上传文件的地址</li>
<li>swf:用来实现客户端支持的 Flash</li> <li>width:按钮的宽度</li>
<li>height:按钮的高度</li>
<li>buttonText: 上传按钮的文字</li>
<li>buttonCursor:按钮的鼠标图标</li> <li>fileObjName:上传文件的请求参数名称</li> <li>fileTypeExts:上传文件过滤使用的扩展名</li>
<li>fileTypeDesc:上传文件的类型描述</li> <li>auto:选择之后,是否自动开始上传</li>
<li>multi:是否允许上传多个文件</li>
<li>queueSizeLimit:同时选择多个文件的限额</li>
</ul>
</p>
<span id="uploadify"></span>
<img id="upImg" src="" alt="" />
</div>
public ActionResult Upload(HttpPostedFileBase Filedata)
{
// 如果没有上传文件
if (Filedata == null || string.IsNullOrEmpty(Filedata.FileName) || Filedata.ContentLength == )
{
return this.HttpNotFound();
} // 保存到 ~/UserFolder 文件夹中
string filename = DateTime.Now.Ticks.ToString() + System.IO.Path.GetExtension(Filedata.FileName);
string virtualPath = string.Format("~/UserFolder/{0}", filename);
// 文件系统不能使用虚拟路径
string path = Server.MapPath(virtualPath);
Filedata.SaveAs(path); return Content(filename);
}
jquery图片上传的更多相关文章
- jquery 图片上传本地预览V1.2
基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari 代码进行小小的压缩 如果看源码 自己解压就行了 版本已升级 修复jquery版本问题 支持任意jqu ...
- Jquery图片上传组件,支持多文件上传
Jquery图片上传组件,支持多文件上传http://www.jq22.com/jquery-info230jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传.取消. ...
- Jquery图片上传预览效果
uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...
- jQuery图片上传前先在本地预览(不经过后端处理)
前段时间遇到一个问题,前端想实现图片上传预览(不经过后端PHP或JAVA处理),用户点击file按钮上传文件,点击确定马上就能看到预览的效果,但在实现的时候无论怎样都取不到file上图片的真实路径,得 ...
- jQuery图片上传前先在本地预览
js代码: /* *名称:图片上传本地预览插件 v1.1 *作者:周祥 *时间:2013年11月26日 *介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持saf ...
- jQuery 图片上传
1. 概述 1.1 说明 在一些前后端不分离的项目中,经常有一些需要把文件或者图片上传的功能,故记录此代码以便后期使用. 1.2 要求 1.上传,10M以内,限bmp,jpg,png,jpeg等图片格 ...
- 【转】HTML5 jQuery图片上传前预览
hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images,本例子主要是使用HTML5 的File API,建立一個可存取到该 file的url,一个空的img标签,ID为img0,把选 ...
- HTML5 jQuery图片上传前预览
hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images,本例子主要是使用HTML5 的File API,建立一個可存取到该file的url,一个空的img标签,ID为img0,把选择 ...
- jquery图片上传前预览剪裁
http://www.webmotionuk.co.uk/jquery/image_upload_crop.php http://keleyi.com/a/bjad/liuvpkke.htm 不错的d ...
随机推荐
- CodeForces 221(div 2)
A 无trick水题... /* * Author: Plumrain * Created Time: 2013-12-24 22:26 * File Name: B.cpp */ #include ...
- C#快速剔除字符串中不合法的文件名或者文件路径字符
C#快速剔除字符串中不合法的文件名 string strFileName= "文件名称"; StringBuilder rBuilder = new StringBuilder( ...
- POJ3169 Layout(差分约束系统)
POJ3169 Layout 题意: n头牛编号为1到n,按照编号的顺序排成一列,每两头牛的之间的距离 >= 0.这些牛的距离存在着一些约束关系:1.有ml组(u, v, w)的约束关系,表示牛 ...
- Scriptcase演示程序
为了方便大家对Scriptcase有一个非常直观的印象,现在将Scriptcase的示例程序进行了适当汉化,并且放在互联网上,您可以直接点击这个地址访问. 需要说明的是,示例程序中提供的范例,基本上都 ...
- 如何设置jsp默认的编码为utf-8
方法一: 文件里写: <%@ page contentType="text/html; charset=UTF-8" %> 方法二: 选择window –> P ...
- [转] 有趣的JavaScript原生数组函数
在JavaScript中,可以通过两种方式创建数组,Array构造函数和 [] 便捷方式, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typeof操作符返回‘obj ...
- C++继承:公有,私有,保护
前言 无论是在平时学习中还是还做项目之时,主要用到的继承都是 public 公有继承,因此,对protected private两者继承都不大了解! 今天,在看<Effective C++ 3e ...
- 自定义控件(视图)2期笔记08:自定义控件之 9patch图说明
1. 何为 9patch图 ? 它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片:所谓"*.9.png"这是Androi ...
- Mac上安装pexpect
1.首先安装pip sudo easy_install pip 2.pip安装pexpect sudo pip install pexpect
- 转:android 自定义RadioButton样式
http://gundumw100.iteye.com/blog/1146527 上面这种3选1的效果如何做呢?用代码写? 其实有更简单的办法,忘了RadioButton有什么特性了吗? 我就用Ra ...