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 = " ...
随机推荐
- Servlet Threading Model
Servlet Threading Model The scalability issues of Java servlets are caused mainly by the server thre ...
- C/C++ 获取汉字拼音首字母
#include <stdint.h> #include <stdio.h> #include <ctype.h> #include <string.h> ...
- php--在apache上配制rewrite重写
配置步骤: 第一步:找到apache的配置文件httpd.conf(文件在conf目录下) 第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商. ...
- C# Dictionary几种遍历方式
class Program { static void Main(string[] args) { Dictionary<string, string> myDictionary = ne ...
- 1011 最大公约数GCD
1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 输入2个正整数A,B,求A与B的最大公约数. Input 2个数A,B,中间用空格隔开.(1<= A,B < ...
- Jquery 多选下拉列表插件jquery multiselect
有一个多选的需求,在网上找到了这个插件:multiselect https://github.com/ehynds/jquery-ui-multiselect-widget csdn博客上有这个插件的 ...
- Java实验三报告
一. 实验内容 (一)敏捷开发与XP 摘要:一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈.假设简单性.递增更改.提倡更改.优质工作.XP软件开发的基石是XP的活动,包括:编码 ...
- Arbitrage---poj2240(floyd)
题目链接:http://poj.org/problem?id=2240 题意:有n个国家的,有m个关系,每个关系的格式是:A B C表示1单位的A国货币可以换B单位C国货币:求是否存在一种方法使得货币 ...
- Keep Alive
跳板机时经常出现连接被断开的情况.如果发生这种情况,请在客户端配置Keep Alive设置,具体方法参考如下: Windows: secureCRT:Properties -> Terminal ...
- MOGRE学习笔记(3)--MOGRE小项目练习
学习OGRE有一段时间了,领导为了检测学习效果,根据已有C++项目,弄一个类似的用c#语言编写的小项目. 配置:win7,DirectX2009,vs2010. 项目要求: 1.有Ogre窗口(尺寸1 ...