繁体   English   中英

将图像转换为二进制文件,返回System.byte []而不是asp.net中的二进制格式

[英]Image to binary returning System.byte[] instead of binary format in asp.net

我正在尝试将图像转换为二进制文件,然后存储在数据库中。 我有执行此操作的代码,经过几次Google搜索后,大多数答案都与我编写的代码相似。 我的错误是,我没有在数据库中看到二进制格式,而是将System.byte[]作为输出。 我也调试并得到了同样的东西。 这是代码的一部分

if (Upload.HasFile)
{
    HttpPostedFile postedFile = Upload.PostedFile;
    string filename = Path.GetFileName(postedFile.FileName);
    string fileExtension = Path.GetExtension(filename);
    int filesize = postedFile.ContentLength;
    if (fileExtension.ToLower() == ".jpg")
    {
        Stream stream = postedFile.InputStream;
        BinaryReader binaryreader = new BinaryReader(stream);

        byte[] bytes = binaryreader.ReadBytes((int)stream.Length);

        Debug.WriteLine(bytes);
    }
}

我的调试结果将System.byte[]作为输出。

您可以将字节数组转换为字符串以进行数据库存储

var storedString = Convert.ToBase64String(bytes);

并从存储的字符串中获取字节数组

bytes = Convert.FromBase64String(storedString);

如果您确实想使用Binary格式,则可以查看SoapHexBinary类,尤其是Parse()方法和Value属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM