[英]Byte[] Array to String
我想将Byte []数组输出到字符串,以便可以沿着HTTPRequest发送它。 能做到吗 服务器会选择数据并从中创建文件吗? 还是需要一些特殊的编码?
该文件是图像。 目前,我有:
Byte[] fBuff = File.ReadAllBytes("C:/pic.jpeg");
我需要获取fBuff中的内容并将其输出以发送后期请求。
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.