【问题标题】:Image cut after being uploaded to webapi上传到webapi后的图片剪切
【发布时间】:2017-07-25 21:23:30
【问题描述】:

我用这段代码在asp.net webapi中上传图片:

[HttpPost]
[Route("imageBrowser/insert")]
[SharePointContextWebAPIFilter]
public object PostFile()
{
    HttpRequestMessage request = this.Request;
    if (!request.Content.IsMimeMultipartContent())
    {
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
    }


    string root = System.Web.HttpContext.Current.Server.MapPath("~/Content/images");
    var provider = new MultipartFormDataStreamProvider(root);
    Request.Content.ReadAsMultipartAsync(provider);


    //return Request.CreateResponse(HttpStatusCode.OK); 
    return Request.CreateResponse(HttpStatusCode.OK);
}

文件没有正确上传,看起来像这样

这与天蓝色有关吗?代码有问题吗?

【问题讨论】:

    标签: image azure asp.net-web-api2


    【解决方案1】:

    问题是因为您在非异步方法中使用异步代码。所以线程在结束读取部分之前就已经完成了。

    试试这个:

    [HttpPost]
    [Route("imageBrowser/insert")]
    [SharePointContextWebAPIFilter]
    public async object PostFile()
    {
        HttpRequestMessage request = this.Request;
        if (!request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }
    
    
        string root = System.Web.HttpContext.Current.Server.MapPath("~/Content/images");
        var provider = new MultipartFormDataStreamProvider(root);
        await Request.Content.ReadAsMultipartAsync(provider);
    
    
        //return Request.CreateResponse(HttpStatusCode.OK); 
        return Request.CreateResponse(HttpStatusCode.OK);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多