繁体   English   中英

Byte []数组转换为字符串

[英]Byte[] Array to String

我想将Byte []数组输出到字符串,以便可以沿着HTTPRequest发送它。 能做到吗 服务器会选择数据并从中创建文件吗? 还是需要一些特殊的编码?

该文件是图像。 目前,我有:

Byte[] fBuff = File.ReadAllBytes("C:/pic.jpeg");

我需要获取fBuff中的内容并将其输出以发送后期请求。

使用Convert.ToBase64String方法

Byte[] fBuff = File.ReadAllBytes("C:/pic.jpeg");
String base64 = Convert.ToBase64String(fBuff);

这样,字符串将尽可能紧凑,并且是将字节写到字符串再写回字节的“标准”方式。

要转换回字节,请使用Convert.FromBase64String

String base64 = ""; // get the string
Byte[] fBuff = Convert.FromBase64String(base64);

您可以创建一个字符串,其中每个字节都是字符串的一个字符。 如果您在接收方执行相同的相反步骤,则不会有任何问题(我用Java做过类似的事情)。

Convert.ToBase64String看起来是将字节存储在可传输数组中的最佳选择,您应该研究这些函数。

如果仅发送文件,则可以使用WebClient类的UploadFile方法:

using (WebClient client = new WebClient) {
  client.UploadFile("http://site.com/ThePage.aspx", @"C:\pic.jpeg");
}

这会将文件作为常规文件上传发布,就像从带有文件输入的网页中发布一样。 在接收服务器上,文件位于Request.Files集合中。

是否有不使用WebClient上传文件的原因?

暂无
暂无

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

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