使用MultFile.js实现多文件上传


1.<script src="@Url.Content("~/Scripts/jquery.MultiFile.js")" type="text/javascript"></script>

2. <div style="padding: 10px;">
<input type="file" id="uploadFile" name="uploadFile" class="multi" /><br />
<span id="msgContent" style="color: Red;">@ViewBag.ErrorMsg</span>
</div>

3.[HttpPost]
[ValidateInput(false)]
public ActionResult AddArticle(Article article)
{
HttpFileCollectionBase files = Request.Files;
string attachmentPath = string.Empty;
if (files.Count != 0)
{
for (int i = 0; i < files.Count; i++)
{
if (Path.GetExtension(Path.GetFileName(files[i].FileName)) == ".exe")
{
ViewBag.ErrorMsg = "不能上传格式为exe的文件!";
break;
}
if (files[i].ContentLength > 1073741824)
{
ViewBag.ErrorMsg = "文件大小最大为1G!";
}
}
if (!string.IsNullOrWhiteSpace(ViewBag.ErrorMsg))
{
return View(article);
}
//上传文件
article.CreateDate = DateTime.Now;
article.LastUpdateDate = article.CreateDate;
articleManager.AddArticle(article);
IndexHelper.AddIndex(article);
if (files.Count == 1 && files[0].ContentLength == 0)
{
//不做操作
}
else
{
for (int i = 0; i < files.Count; i++)
{
var file = files[i];
//保存成自己的文件全路径,newfile就是你上传后保存的文件    
string fileName = System.IO.Path.GetFileName(file.FileName);//上传文件名
string fileExtension = System.IO.Path.GetExtension(fileName); //上传文件的扩展名
//保存文件
string FileId = DateTime.Now.ToString("yyyyMMddhhmmss");
string newFileName = FileId + fileExtension;
Attachment attachment = new Attachment
{
CreateDate = DateTime.Now,
FileIconName = fileExtension,
FileName = fileName,
FileSize = file.ContentLength,
FileUrl = newFileName
};
attachmentManager.AddAttachment(attachment);
articleInAttachmentManager.AddArticleInAttachment(new ArticleInAttachment { ArticleID=article.ID, AttachmentID=attachment.ID });
string soureFileUrl = Server.MapPath(ConfigurationManager.AppSettings["attachPath"]) + newFileName;
file.SaveAs(soureFileUrl);
}
}
}
return RedirectToAction("Index", "Home");
}

Web.config

<system.web>
<!--上传大文件-->
<httpRuntime maxQueryStringLength="2097151" maxUrlLength="2097151" maxRequestLength="1073741824" executionTimeout="3600" requestValidationMode="2.0"/>
</system.web>

优质内容筛选与推荐>>
1、从集合大小的定义到数学结构-解决了多年的疑惑
2、软件工程第二次作业(完整版)
3、MVC4 基础篇 枚举生成 DropDownList
4、flash调用js中的方法,让js传递变量给flash (兼容 IE & FF) (转)
5、Rendezvous on a Tetrahedron (模拟)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号