.NET mvc文件上传 常用方法
来源:互联网 发布:传奇刷元宝软件 编辑:程序博客网 时间:2024/05/16 08:28
最近在写手机端接口文件上传时,需要将写好的接口进行测试,写了个测试例子。主要功能是通过Ajax提交上传文件,后台将文件转为二进制 后,返回给前台,再调用另一个WEBAPI接口。网上查询了一些方法,在此感谢善于总结并把知识共享的人!
前台代码:<head> <meta name="viewport" content="width=device-width" /> <title>文件上传测试</title> <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Scripts/jquery.form.js"></script> <script type="text/javascript"> //使用jquery.form.js脚本,使用ajaxSubmit进行表单提交 function fileUploadMethod1() { $("#formFileUpload").ajaxSubmit({ success: function (data) { mobileFileUpload(data); } }).fail( function (xhr, textStatus, err) { alert('Error: ' + err); }); } //不引用脚本,使用jquery的Ajax进行提交
//注:这个方法可以参考原文地址:http://www.jianshu.com/p/46e6e03a0d53 function fileUploadMethod2() { var odata = new FormData($("#formFileUpload")[0]); $.ajax({ contentType: false, cache: false, processData:false, url: 'filetest/UploadFile', dataType: "json", async: false, type:"post", data: odata , success: function (data) { mobileFileUpload(data); } }).fail( function (xhr, textstatus, err) { alert('error: ' + err); }); } function mobileFileUpload(fileData) { $.ajax({ url: "../api/File/PostFileUpload", type: "post", dataType: "json", data: fileData, success: function (data) { if (data == "true") alert('文件传送成功'); else alert('文件传送失败'); } }).fail( function (xhr, textStatus, err) { alert('Error: ' + err); }); } </script> </head><body> <div> @using (Html.BeginForm("UploadFile", "FileTest", FormMethod.Post, new { enctype = "multipart/form-data", id = "formFileUpload" })) { <input type="file" value="请选择文件" id="fileUpload" name="fileUpload" /> <input type="button" value="上传" onclick="fileUploadMethod2()" /> } </div></body></html>
后台获取方法:
public string UploadFile() { HttpPostedFileBase hpf = Request.Files["fileUpload"]; //主要是这个地方获取到值就没问题了 string fileName = hpf.FileName; string basePath = "/Temp/" + Guid.NewGuid().ToString() + "/"; if (!Directory.Exists(Server.MapPath(basePath))) Directory.CreateDirectory(Server.MapPath(basePath)); string fullPath = basePath + fileName; hpf.SaveAs(Server.MapPath(fullPath)); string binaryString = MyCommon.FileToBinary(Server.MapPath(fullPath)); FileModel model = new FileModel(); model.EventId = "1"; model.FileData = binaryString; model.FileName = fileName; model.FileExtension = fileName.Substring(fileName.LastIndexOf(".")); model.Flag = 0; return JsonHelper.JsonSerializerToString(model); }
0 0
- .NET mvc文件上传 常用方法
- ASP.NET MVC上传文件的方法
- asp.net文件上传的常用方法
- 【VS2010】asp.net MVC 上传文件 的方法
- ASP.NET MVC上传文件的几种方法
- ASP.NET MVC 上传文件
- ASP.NET MVC - 文件上传
- asp.net MVC上传文件
- asp.net mvc文件上传
- ASP.NET MVC上传文件
- asp.net mvc文件上传
- asp.net mvc文件上传
- ASP.NET MVC上传文件
- .Net上传文件方法
- 详细讲解Asp.net MVC上传文件与下载文件的方法
- Asp.net MVC 中的一个文件上传
- ASP.net MVC FileUpload 文件上传
- Asp.net mvc 的文件上传
- 旋转屏幕导致Activity重建问题的解决办法
- OSI七层模型详解
- Android 实现最新版QQ图像裁剪功能
- sql server 查询本身不支持正则表达式,但是支持通配符
- IOS APP发布 小问题整理
- .NET mvc文件上传 常用方法
- tableView 头视图的高度
- 关掉rockmongo因PHP版本问题导致的警告显示
- 【Android】判断listview是否滑动到顶部
- 封装 libmemcached
- Android DrawerLayout 高仿QQ5.2双向侧滑菜单
- IOS applicationWillResignActive
- JVM学习笔记(一)---JVM基本结构
- DateTime格式大全