C#将IFormFile读入字节[]

问题描述 投票:0回答:3

我正在尝试读取从HTTP POST请求中收到的IFormFile,如下所示:

 public async Task<ActionResult> UploadDocument([FromForm]DataWrapper data)
    {
        IFormFile file = data.File;
        string fileName = file.FileName;
        long length = file.Length;
        if (length < 0)
            return BadRequest();
        using FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate);
        byte[] bytes = new byte[length];
        fileStream.Read(bytes, 0, (int)file.Length);

        ...

    }

但是在执行此行之后出了点问题:

fileStream.Read(bytes, 0, (int)file.Length);

bytes的所有元素均为零。

此外,在我的Visual Studio项目中创建了具有相同名称的文件,我不希望发生这种情况。

c# filestream iformfile
3个回答
2
投票
您无法打开IFormFile,就像打开磁盘上的文件一样。您必须改用IFormFile.OpenReadStream()Docs here

1
投票
您的代码的意图似乎是写入FileStream,而不是字节缓冲区。它[[actually

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.