asp.net-mvc – 保存为“BodyPart_3ded2bfb-40be-4183-b789-9301f93e9
发布时间:2020-05-23 06:30:48 所属栏目:asp.Net 来源:互联网
导读:我正在使用ASP.NET Web API上传文件。我在RC之前这样做了,但由于某种原因,该文件被保存为“BodyPart_3ded2bfb-40be-4183-b789-9301f93e90af”而不是文件名。下面的文件名变量也返回此bodypart字符串,而不是文件名。我似乎不知道我在哪里错了。任何帮助是赞
|
我正在使用ASP.NET Web API上传文件。我在RC之前这样做了,但由于某种原因,该文件被保存为“BodyPart_3ded2bfb-40be-4183-b789-9301f93e90af”而不是文件名。下面的文件名变量也返回此bodypart字符串,而不是文件名。我似乎不知道我在哪里错了。任何帮助是赞赏。 客户代码: function upload() {
$("#divResult").html("Uploading...");
var formData = new FormData($('form')[0]);
$.ajax({
url: 'api/files/uploadfile?folder=' + $('#ddlFolders').val(),type: 'POST',success: function (data) {
$("#divResult").html(data);
},data: formData,cache: false,contentType: false,processData: false
});
};
控制器: public Task<HttpResponseMessage> UploadFile([FromUri]string folder)
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType));
}
// Save file
MultipartFormDataStreamProvider provider = new MultipartFormDataStreamProvider(HttpContext.Current.Server.MapPath("~/Files"));
Task<IEnumerable<HttpContent>> task = Request.Content.ReadAsMultipartAsync(provider);
return task.ContinueWith<HttpResponseMessage>(contents =>
{
string filename = provider.BodyPartFileNames.First().Value;
return new HttpResponseMessage()
{
Content = new StringContent(string.Format("File saved in {0}.",folder))
};
},TaskScheduler.FromCurrentSynchronizationContext());
文件看起来像: 解决方法这是我们做出的一个严重的改变 – 考虑到采取在Content-Disposition头字段中提供的文件名的安全风险,所以我们现在计算一个文件名,这是你看到的。如果你想自己控制服务器本地文件名,那么你可以从MultipartFormDataStreamProvider派生并覆盖GetLocalFileName,以提供任何你想要的名称。请注意,这样做可能有安全注意事项。 希望这可以帮助, Henrik (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – #Eval if语句在中继器
- asp.net – SQL网络接口,错误:26 – 定位服务器/实例指定错
- asp.net-mvc – IIS 7.0不显示自定义错误页面
- asp.net-mvc – 如何在ASP.NET MVC 4中使用域组作为具有流畅
- asp.net-mvc – ASP.NET MVC推荐的依赖注入框架是什么?
- asp.net-mvc – Html.CheckBox返回false如果禁用,即使selec
- asp.net-mvc – ASP.NET MVC Beta 1:DefaultModelBinder错
- asp.net-mvc-4 – MVC 4中的ClientValidationEnabled和Unob
- asp.net-mvc-4 – 覆盖用于MVC4应用程序的User.IsInRole和[
- Asp.net错误无法加载文件或程序集
推荐文章
站长推荐
- asp.net-mvc – SquishIt vs. MVC 4.0 Bundler
- 如何在ASP.Net(MVC)中避免XSS漏洞?
- asp.net-mvc – 动作过滤器执行顺序
- 有标签的ASP.NET WebControl吗?
- asp.net-mvc – 当它被称为DocumentationControl
- asp.net – MVC3 – 向控制器添加一个文件夹?
- asp.net-mvc – 错误:无法在LINQ to Entities查
- asp.net-mvc-3 – ASP.NET MVC 3 RTM项目中的这个
- asp.net-web-api – 在LINQPad中使用WebAPI?
- 捆绑和分组 – MVC 6中的捆绑和分类
热点阅读
