我有一个文件的字节数组,有没有办法把它保存到远程文件服务器?
谢谢, 杆
答案 0 :(得分:10)
File.WriteAllBytes(@"\\server\public_share\MyFile.txt", byteArray);
答案 1 :(得分:0)
将数据写入文件是一个简单的部分,@ aaron向您展示了如何......
i.e. File.WriteAllBytes(....etc
但需要注意的是,如果您通过线路传输二进制数据,并且您的数据包含可能被解释为控制字符的字节,那么您的数据传输将会出现问题。
您可能需要做的是首先对数据进行编码,以便您可以安全地传输数据,通常您会使用类似Base64编码的内容。
您可以使用转换助手类来执行此操作...
Convert.ToBase64String("file contents");
答案 2 :(得分:0)
如果您在代码隐藏中执行此操作,则需要使用FileStream和BinaryWriter对象。
像这样;
FileStream filestream = new FileStream("myfile.txt", FileMode.Open);
BinaryReader br = new BinaryReader(filestream);
String msg = br.ReadString();
br.Close();
filestream.Close();
FileStream networkStream = new FileStream(@"\\server\share\file.txt", FileMode.Create);
BinaryWriter bw = new BinaryWriter(filestream);
bw.Write(msg);
bw.Close();
networkStream.Close();
如果您通过Javascript传递它可能使用HTML浏览按钮,那么您将需要执行相同类型的操作,但您将从帖子表单请求中获取文件流。
您可能在写入网络位置时遇到问题,如果您使用的是IIS,则可以设置虚拟目录并在IIS中设置凭据。另一种方法是您需要进行模拟以将文件写入网络服务器。
麦克