将文件从一个网络移动到另一个网络的最佳方式c#iis

时间:2016-10-13 15:41:38

标签: c# iis base64 asmx

我正在使用C#编写IIS Web服务(在asmx文件中),该文件将文件作为输入并将其移动到特定的服务器目录。

我目前正在做的是,在调用Web服务之前,我将此文件转换为Base64字符串,并将此Base64类型字符串传递给Web服务。 Web服务将字符串转换为文件并将其保存到目录中。

有更好的做法吗?

1 个答案:

答案 0 :(得分:0)

正如L.B在评论中指出的那样;

  

Web服务(托管在.asmx中)使用基于xml / soap的协议,这意味着   每个二进制数据都必须转换为文本(base64,十六进制字符串等)。   )手动或自动。

所以最好的方法就是我从一开始就这样做。这是我使用的代码;

将文件转换为Base64类型字符串;

byte[] bytes = File.ReadAllBytes("file path");
string file = Convert.ToBase64String(bytes);

Base64字符串转换回文件;

byte[] bytes = Convert.FromBase64String(b64Str);
File.WriteAllBytes(path, bytes);