Uploadify在MVC中使用方法案例(上传单张图片)

在View视图中:
<link href="/Scripts/uploadify-v3.2.1/uploadify.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="/Scripts/uploadify-v3.2.1/jquery.uploadify.js" type="text/javascript"></script>
<script src="/Scripts/uploadify-v3.2.1/swfobject.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#file_upload').uploadify({
'buttonText': '选择上传文件',
'queueID': 'fileQueue',//指定上传进度条在哪里显示
'swf': '@Url.Content("~/Scripts/uploadify-v3.2.1/uploadify.swf?ver='+Math.random()+'")',
'uploader': '/Home/Upload',
'removeCompleted': true,
'checkExisting': true,
'fileTypeDesc': '上传的文件类型',
'fileTypeExts': '*.jpg;*.png;*.gif',
'fileSizeLimit': '1024kb',
'auto': false,
'multi': false,
'queueSizeLimit': 1, //一个队列上传文件数限制
'uploadLimit': 1, //允许上传的最多张数
'height': 30,
'width': 80,
'onUploadSuccess': function (file, data, response) {
var obj = jQuery.parseJSON(data); //把返回的Json序列转化为obj对象
if (obj.Success) {
$('#input').val(obj.FilePath);
$('#upsucc').text('上传成功!');
}
else
alert(obj.Message);
}
});
});
<tr>
<th>@Html.LabelFor(model=>model.Url)</th>
<td>
<input type="file" class="file_upload" id="file_upload"/>
<div id="fileQueue"></div>
<a href="javascript:$('#file_upload').uploadify('upload');">上传</a><span id="upsucc" style="color:red"></span>
@Html.TextBoxFor(m => m.Url, new { id="input",@style="display:none"})
</>
</tr>
Controller中
[HttpPost]
public JsonResult Upload(HttpPostedFileBase fileData)
{
if (fileData != null)
{
try
{
// 文件上传后的保存路径
string filePath = Server.MapPath("~/Uploads/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = Path.GetFileName(fileData.FileName);// 原始文件名称
string fileExtension = Path.GetExtension(fileName); // 文件扩展名
string saveName = Guid.NewGuid().ToString() + fileExtension; // 保存文件名称
int filesize = fileData.ContentLength / ;
if (filesize > || filesize <= || (fileExtension != ".jpg" && fileExtension != ".png" && fileExtension != ".gif"))
{
return Json(new { Success = false, Message = "上传失败!\r请上传jpg/png格式图片,文件大小不要超过1MB" }, JsonRequestBehavior.AllowGet); }
else
{
fileData.SaveAs(filePath + saveName);
return Json(new { Success = true, FilePath = "/Uploads/" + saveName });
} }
catch (Exception ex)
{
return Json(new { Success = false, Message = ex.Message }, JsonRequestBehavior.AllowGet);
}
}
else
{
return Json(new { Success = false, Message = "请选择要上传的文件!" }, JsonRequestBehavior.AllowGet);
}
}
在后台应用中会遇到HTTP 302的错误 这是因为应用插件的过程中 没有了session 所以public JsonResult Upload(HttpPostedFileBase fileData) 最好放到一个没有访问权限的Controller中!
Uploadify在MVC中使用方法案例(上传单张图片)的更多相关文章
- Uploadify在MVC中使用方法案例(一个视图多次上传单张图片)
Controller 中代码和 上一节文章(http://www.cnblogs.com/yechangzhong-826217795/p/3785842.html )一样 视图中代码如下: < ...
- JQuery文件上传插件uploadify在MVC中Session丢失的解决方案
<script type="text/javascript"> var auth = "@(Request.Cookies[FormsAuthenticati ...
- Asp.net mvc 中Action 方法的执行(二)
[toc] 前面介绍了 Action 执行过程中的几个基本的组件,这里介绍 Action 方法的参数绑定. 数据来源 为 Action 方法提供参数绑定的原始数据来源于当前的 Http 请求,可能包含 ...
- Asp.net mvc 中Action 方法的执行(一)
[toc] 在 Aps.net mvc 应用中对请求的处理最终都是转换为对某个 Controller 中的某个 Action 方法的调用,因此,要对一个请求进行处理,第一步,需要根据请求解析出对应的 ...
- Spring MVC中 controller方法返回值
1.返回ModelAndView 定义ModelAndView对象并返回,对象中可添加model数据.指定view 2.返回String 1.表示返回逻辑视图名 model对象通过 model.add ...
- MVC中动作方法三个特性以及解决同名方法冲突
一.Http请求谓词特性(解决方法同名冲突问题的一个方案) 关于Http谓词特点:经常使用,如果不加上该特性,默认动作方法接收所有谓词的请求一般开发中都会加上谓词,限定请求谓词类型 二.NonActi ...
- Asp.net mvc 中Action 方法的执行(三)
[toc] 前面介绍了 Action 方法执行过程中的一些主要的组件以及方法执行过程中需要的参数的源数据的提供以及参数的绑定,那些都可以看作是 Action 方法执行前的一些必要的准备工作,接下来便将 ...
- MVC 中使用kindEditor 图片上传在IE 上进行上传出现的问题
在IE 上使用KindEditor 进行单张图片上传的时候会出现一个下载安全警告,这样将会造成图片上传失败,出现的错误页面:
- 在MVC中实现文件的上传
@using (Html.BeginForm("daoru", "Excel", FormMethod.Post, new { enctype = " ...
随机推荐
- library not found for -lPods 的解决办法
在老项目工程中使用cocoapods,可能会报这个错误:library not found for -lPods . 导致这个错误可能有两个原因,这两个原因在编译过程中都是有蛛丝马迹可循的. 原因1: ...
- python join
# 对序列进行操作 ' '.join(['hello','good','boy','doiido']) hello:good:boy:doiido # 对字符串进行操作 ':'.join(" ...
- 解决父类加载iframe,src参数过大导致加载失败
原文:解决父类加载iframe,src参数过大导致加载失败 <iframe src="*******.do?param=****" id="leftFrame&qu ...
- magento csv导入
- 导入maven工程并配置maven环境
步骤一 : 选择 "Import"操作 有两个途径可以选择 "Import"操作; 1>"File"--> "Impo ...
- LeetCode Binary Search Tree Iterator
原题链接在这里:https://leetcode.com/problems/binary-search-tree-iterator/ Implement an iterator over a bina ...
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- mysql怎么定义外键
数据库mysql 建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键). 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引 ...
- BI系统规划前需要准备的6项工作
通常在进行商业智能信息系统项目之前,可以先从明确经营分析的愿景和目的入手,确定分析方法和工具.设计经营分析框架.设计指标和报表.IT实现和持续改进机制建立等几个步骤,即先有经营分析体系再有商业智能.第 ...
- jQuery基础修炼圣典—DOM篇(一)
一.DOM节点的创建 1.创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. ...