uploadify多文件上传实例--C#

时间:2024-01-11 21:45:44

下载uploadify文件

http://www.uploadify.com/

HTML(视图)

<html lang="zh-cn">
<head>
<meta content="true">
<meta charset="UTF-8">
<script src="~/Areas/Test/Uploadify/jquery.uploadify.js"></script>
<link href="~/Areas/Test/Uploadify/uploadify.css" rel="stylesheet" />
<title>uploadify多文件上传例子</title>
</head>
<body>
<input type="file" id="file_upload" name="file_upload" />
</body>
</html>

JS

<script>
$(function () {
$('#file_upload').uploadify({
'swf': '@Url.Content("/Areas/Test/Uploadify/uploadify-v3.1/uploadify.swf")',
'uploader': '@Url.Action("UploadAppraisal")?resultPath=Upload',
'auto': true,
'fileTypeExts': '*.*',
'fileTypeDesc':'All Files',
'fileSizeLimit': '',
'buttonText': '添加文件',
'width': ,
'height': ,
'margin-right': ,
multi: false,
queueSizeLimit: ,
timeoutuploadLimit: ,
removeCompleted: true,
uploadLimit: ,
'onSelect': function (file) { },
'onUploadStart' : function(file) { },
'onUploadProgress': function (file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) { },
'onInit': function () { },
'onUploadSuccess': function (file, data, response) { }
});
});</script>

后台(MVC控制器)

public JsonResult UploadAppraisal(HttpPostedFileBase fileData, string resultPath)
{
if (fileData != null)
{
try
{
// 文件上传后的保存路径
string filePath = Server.MapPath("../Upload/temp");
string Size = HumanReadableFilesize(fileData.ContentLength);
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
} string fileNames = Path.GetFileName(fileData.FileName);// 原始文件名称
string fileName = Regex.Match(fileNames, @".*?(?=[.])").Value;//去掉后缀名字的文件名字
string fileExtension = Path.GetExtension(fileNames); // 文件扩展名
string saveName = Guid.NewGuid().ToString() + fileExtension; // 保存文件名称
string path = filePath + "\\" + saveName;
string Filesize = HumanReadableFilesize(fileData.ContentLength);//字节大小
string FileDw = HumanReadableFile(fileData.ContentLength);//字节单位
fileData.SaveAs(path); return Json(new
{ Success = true, FileName = saveName});
}
catch (Exception ex)
{
return Json(new
{ Success = false, Message = ex.Message }, JsonRequestBehavior.AllowGet);
}
}
else
{
return Json(new
{ Success = false, Message = "请选择要上传的文件!" }, JsonRequestBehavior.AllowGet);
}
}

一个页面有多个上传控件

修改jquery.uploadify.js、jquery.uploadify.min.js

   var mydate = new Date();
this.movieName = "SWFUpload_" + mydate.getTime().toString();

上传大文件(Web.config)

Web.config添加一下代码

<system.web>
<compilation debug="true" targetFramework="4.5" />
<!--maxRequestLength就是文件的最大字符数,最大值不能超过2个G左右,executionTimeout是超时时间-->
<httpRuntime targetFramework="4.5" maxRequestLength="" executionTimeout="" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!--修改服务器允许最大长度-->
<requestLimits maxAllowedContentLength=""/>
</requestFiltering>
</security>
</system.webServer>