base64 编码 HttpPostedFileBase

Posted

技术标签:

【中文标题】base64 编码 HttpPostedFileBase【英文标题】:base64 encode HttpPostedFileBase 【发布时间】:2015-09-27 13:55:36 【问题描述】:

我想将base64 编码为HttpPostedFileBase 接收的图像以将其发送到 json 对象中,但我不知道如何完成...请告诉我如何解码它回HttpPostedFileBase

【问题讨论】:

【参考方案1】:

我试过了,效果很好

string theFileName = Path.GetFileName(YourFile.FileName);
byte[] thePictureAsBytes = new byte[YourFile.ContentLength];
using (BinaryReader theReader = new BinaryReader(YourFile.InputStream))

    thePictureAsBytes = theReader.ReadBytes(YourFile.ContentLength);

string thePictureDataAsString = Convert.ToBase64String(thePictureAsBytes);

【讨论】:

这里没有使用 theFileName @SeanKPS theFileName 可以根据您的情况使用,例如,我将其用作将其存储在数据库中的 Web 服务的输入【参考方案2】:

按照以下步骤将 HttpPostedFileBase 转换为 Base64String 类型

  public ActionResult ParseCv(HttpPostedFileBase cvFile)
                
        byte[] fileInBytes = new byte[cvFile.ContentLength];
        using (BinaryReader theReader = new BinaryReader(cvFile.InputStream))
        
            fileInBytes = theReader.ReadBytes(cvFile.ContentLength);
        
        string fileAsString= Convert.ToBase64String(fileInBytes);
        return Content(fileAsString);
    

【讨论】:

【参考方案3】:

你可以这样做:

byte[] binaryData;
  binaryData = new Byte[product.BrochureFile.InputStream.Length];
  long bytesRead = product.BrochureFile.InputStream.Read(binaryData, 0, (int)product.BrochureFile.InputStream.Length);
  product.BrochureFile.InputStream.Close();
  string base64String = System.Convert.ToBase64String(binaryData, 0, binaryData.Length);

【讨论】:

以上是关于base64 编码 HttpPostedFileBase的主要内容,如果未能解决你的问题,请参考以下文章

将 Base64 编码图像加密为另一个有效的 Base64 编码图像

Base64编码

base64编码与base64解码

base64编码解码

Base64编码

Base64编码的长度问题-文件越大Base64的值越长