如何使用C#将byte []转换为HttpPostedFileBase。在这里,我尝试了以下方式。

byte[] bytes = System.IO.File.ReadAllBytes(localPath);
HttpPostedFileBase objFile = (HttpPostedFileBase)bytes;

我收到一个无法隐式转换的错误。

最佳答案

如何创建自定义的发布文件? :)

public class MemoryPostedFile : HttpPostedFileBase
{
    private readonly byte[] fileBytes;

    public MemoryPostedFile(byte[] fileBytes, string fileName = null)
    {
        this.fileBytes = fileBytes;
        this.FileName = fileName;
        this.InputStream = new MemoryStream(fileBytes);
    }

    public override int ContentLength => fileBytes.Length;

    public override string FileName { get; }

    public override Stream InputStream { get; }
}

您可以像这样简单地使用:
byte[] bytes = System.IO.File.ReadAllBytes(localPath);
HttpPostedFileBase objFile = (HttpPostedFileBase)new MemoryPostedFile(bytes);

关于c# - 如何使用C#将byte []转换为HttpPostedFileBase,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39094997/

10-10 03:23