最近做一个项目用到多文件上传,分享下:
View:
- <script src="../../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(document).ready(function () {
- var i = 0;
- $("#AddFile").click(function () {
- i++;
- $("#Files").append("<li><input name='adjunct" + i +"' type='file' class='inputps' /></li>");
- });
- $("#RemoveAdjunct").click(function () {
- var Files = $("#Files > li");
- var count = Files.size();
- var li = Files.get(count - 1);
- $(li).remove();
- });
- });
- </script>
- <form action="/Files/Post" method="post" enctype="multipart/form-data">
- <div>
- Please select a file to upload:
- <ul id="Files">
- </ul>
- <a id="AddFile" href="javascript:void(0)">增加一个文件 </a>
- <a id="RemoveFile" href="javascript:void(0)">删除一个文件</a>
- <input type="submit" value="Upload" />
- </div>
- </form>
Controller:
- [HttpPost]
- public ActionResult Post()
- {
- foreach (string filename in Request.Files)
- {
- //保存的本地
- var file = Request.Files[filename];
- file.SaveAs("指定路径");
- //保存到数据库
- byte[] buffer;
buffer = new byte[file.InputStream.Length];
file.InputStream.Read(buffer, 0, buffer.Length);- }
- }