如何接受文件POST我正在使用asp.net mvc 4 webapi beta来构建休息服务。我需要能够从客户端应用程序接受POSTed图像/文件。这可能使用webapi吗?以下是我目前使用的操作方式。有谁知道这应该如何工作的一个例子?[HttpPost]public string ProfileImagePost(HttpPostedFile profileImage){
string[] extensions = { ".jpg", ".jpeg", ".gif", ".bmp", ".png" };
if (!extensions.Any(x => x.Equals(Path.GetExtension(profileImage.FileName.ToLower()), StringComparison.OrdinalIgnoreCase)))
{
throw new HttpResponseException("Invalid file type.", HttpStatusCode.BadRequest);
}
// Other code goes here
return "/path/to/image.png";}
3 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
我很惊讶很多人似乎想在服务器上保存文件。将所有内容保存在内存中的解决方案如下:
[HttpPost, Route("api/upload")]public async Task<IHttpActionResult> Upload(){ if (!Request.Content.IsMimeMultipartContent()) throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); var provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.Contents) { var filename = file.Headers.ContentDisposition.FileName.Trim('\"'); var buffer = await file.ReadAsByteArrayAsync(); //Do whatever you want with filename and its binary data. } return Ok();}
- 3 回答
- 0 关注
- 576 浏览
添加回答
举报
0/150
提交
取消