为了账号安全,请及时绑定邮箱和手机立即绑定

如何接受文件发布

如何接受文件发布

C#
青春有我 2019-07-05 09:47:41
如何接受文件发布我正在使用ASP.NETMVC4webapibeta来构建REST服务。我需要能够接受张贴的图像/文件从客户端应用程序。这有可能使用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 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我很惊讶你们中的很多人似乎想在服务器上保存文件。将所有内容保存在内存中的解决方案如下:

[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();}


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 394 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信