永发信息网

演示如何通过 web api 上传文件MVC40

答案:1  悬赏:60  手机版
解决时间 2021-03-17 04:46
  • 提问者网友:暗中人
  • 2021-03-16 18:03
演示如何通过 web api 上传文件MVC40
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-03-16 18:52
WebApiWebFormHost/UploadFileController.csusing System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Threading.Tasks; using System.Web.Http; namespace MVC40.Controllers { publicclass UploadFileController : ApiController { publicasync Task<string> Post() { // 检查是否是 multipart/form-dataif (!Request.Content.IsMimeMultipartContent("form-data")) thrownew HttpResponseException(HttpStatusCode.UnsupportedMediaType); // 设置上传目录var provider = new MultipartFormDataStreamProvider(@"c:\\temp"); // 接收数据,并保存文件var bodyparts = await Request.Content.ReadAsMultipartAsync(provider); string result = ""; // 获取表单数据 result += "formData txtName: " + bodyparts.FormData["txtName"]; result += "<br />"; // 获取文件数据 result += "fileData headers: " + bodyparts.FileData[0].Headers; // 上传文件相关的头信息 result += "<br />"; result += "fileData localFileName: " + bodyparts.FileData[0].LocalFileName; // 文件在服务端的保存地址,需要的话自行 rename 或 movereturn result; } } }WebApiWebFormHost/UploadDemo.cshtml@{ Layout = null; } <!DOCTYPE html><html><head><title>调用web api 上传文件的 demo</title></head><body> @using (Html.BeginForm("UploadFile", "api", FormMethod.Post, new { enctype = "multipart/form-data" })) { <input type="text" id="txtName" name="txtName" value="webabcd"/><div>please select a file</div><input name="data" type="file" multiple /><input type="submit"/> } </body></html>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯