转换的要求.内容到FileStream c#

本文关键字:FileStream 转换 | 更新日期: 2023-09-27 18:17:46

我试图从用户接收使用Web Api的文件,然后将文件转换为FileStream,而不将文件写入服务器(必须留在内存中)。

我有代码,这将允许我把它写到服务器,但所有尝试把它放入一个FileStream没有写文件到服务器已经失败。

public class ReceiverController : ApiController
{
    public Task<HttpResponseMessage> Upload()
    {
        HttpRequestMessage request = this.Request;
        if (!request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType));
        }
        string root = HttpContext.Current.Server.MapPath("~/App_Data/");
        var provider = new MultipartFormDataStreamProvider(root);
        var task = request.Content.ReadAsMultipartAsync(provider).
            ContinueWith<HttpResponseMessage>(o =>
        {
            FileInfo fileInfo = new FileInfo(provider.FileData.First().LocalFileName);
            string fileName = provider.FileData.First().Headers.ContentDisposition.FileName.Replace("'"", "");
            if (!File.Exists(Path.Combine(root, fileName)))
            {
                File.Move(fileInfo.FullName, Path.Combine(root, fileName));
            }
            return new HttpResponseMessage()
            {
                Content = new StringContent("File uploaded.")
            };
        });
        return task;
    }
}

转换的要求.内容到FileStream c#

filename . postdfile。InputStream——给我Stream,我用下面的代码把它转换成字节数组。然后根据以下代码将字节数组转换为文件流。

BinaryReader br = new BinaryReader(fileName);
      bytary= br.ReadBytes((Int32)fileName.Length);
            for(int i = 0; i < bytary.Length; i++)
                  {
                         fileStream.WriteByte(bytary[i]);
                                }