小编jur*_*_be的帖子

ASP .Net Web API RC:Multipart文件上传到Memorystream

我正在尝试将(一个)上传的文件保存到数据库/内存流中,但我无法弄明白.

我现在所拥有的只是:

public Task<HttpResponseMessage> AnswerQuestion()
{
    if (!Request.Content.IsMimeMultipartContent())
    {
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
    }

    var root = HttpContext.Current.Server.MapPath("~/App_Data");
    var provider = new MultipartFormDataStreamProvider(root);

    var task = Request.Content.ReadAsMultipartAsync(provider).
        ContinueWith<HttpResponseMessage>(t =>
        {
            if (t.IsFaulted || t.IsCanceled)
            {
                Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
            }

            foreach (var file in provider.FileData)
            {
                Trace.WriteLine(file.Headers.ContentDisposition.FileName);
                Trace.WriteLine("Server file path: " + file.LocalFileName);
            }
            return Request.CreateResponse(HttpStatusCode.OK);
        });

    return task;
}
Run Code Online (Sandbox Code Playgroud)

但当然这只会将文件保存到特定位置.我想我必须使用从MediaTypeFormatter派生的自定义类来将其保存到MemoryStream,但我不知道如何做到这一点.

请帮忙.提前致谢!

c# file-upload asp.net-web-api

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

file-upload ×1