C# System.Convert.ToBase64String返回的结果与System.Convert.FromBase64String的输入不同

C# System.Convert.ToBase64String返回的结果与System.Convert.FromBase64String的输入不同,c#,javascript,asp.net,image,C#,Javascript,Asp.net,Image,我正在编写一个web应用程序,将图像从web保存到数据库。目前,我用于保存图像的内容如下: [WebMethod] public static void Save(string pictures) { // pictures is an object containing the URL of the image along with some metadata List<ImageObject> imageList = new JavaScriptSerialize

我正在编写一个web应用程序,将图像从web保存到数据库。目前,我用于保存图像的内容如下:

[WebMethod]
public static void Save(string pictures)
{
    // pictures is an object containing the URL of the image along with some metadata
    List<ImageObject> imageList = new JavaScriptSerializer().Deserialize<List<ImageObject>>(pictures);
    for (int i = 0; i < imageList.Count; i++)
    {
        var webClient = new WebClient();
        byte[] byteArray = webClient.DownloadData(imageList[i].URL);
        imageList[i].Picture = byteArray;
    }
    // some SQL to save imageList
}
现在,从URL下载就可以了。保存到我的数据库的条目:

0xFFD8FFE000104A464946000101[...]331B7CCA7F0AD3A02DC8898F
0x64006100740061003A0069006D0[...]10051004500420041005100450042004
要显示此图像,我只需在检索后调用
System.Convert.ToBase64String()
,并将其用作图像
src
。但是,我现在尝试添加一些功能,让用户上传自己的图片。我的函数,从
调用:

使用此选项时,这是我从浏览器获得的图像源(当原始图像只有~500 KB时超过2 MB):

当用作源时,它会正确显示。但是,由于这不是一个实际的URL(而且
WebClient.DownloadData()
仅限于<260个字符的URL),我一直在尝试其他方法将此数据保存到数据库中。但是,我似乎找不到与
WebClient.DownloadData()
相同格式的函数来保存它。例如,我已经看过,其中大多数答案似乎使用了
Convert.FromBase64String()
,但使用它似乎会以不同的格式保存到我的数据库中:

0xFFD8FFE000104A464946000101[...]331B7CCA7F0AD3A02DC8898F
0x64006100740061003A0069006D0[...]10051004500420041005100450042004
尝试在此返回上使用
System.Convert.ToBase64String()

ZABhAHQAYQA6AGkAbQBhAGcAZQAvAGIAbQBwADsAYgBh[...]UwBlAFIAWQBlAG0ANAA5ADMASQBIAEEAZgBpAEgAVwBxADYAdgBLAGwATwB2AC8AWgA=
这与我在上使用的
Convert.FromBase64String()
不同。到目前为止,我在谷歌上找到的其他东西,试图让它以与图像相同的格式保存或显示,但都不起作用


因此,我想知道是否有一种方法可以将
文件读取器的结果转换为与
WebClient.DownloadData()
用于URL相同的格式,或者是否有某种方法可以转换
0x6400[…]
将数据转换为可以通过将其用作
源来显示的格式。

结果表明,保存到数据库中的数据是从
0x64006100[…]
开始的,而不是
0xFFD8FFE0[…]
是因为我忘了删除初始
数据的URI:image;base64,
。执行此操作后,使用
System.Convert.ToBase64String()
保存并正确读取所有内容

ZABhAHQAYQA6AGkAbQBhAGcAZQAvAGIAbQBwADsAYgBh[...]UwBlAFIAWQBlAG0ANAA5ADMASQBIAEEAZgBpAEgAVwBxADYAdgBLAGwATwB2AC8AWgA=