我有一个使用 XMLHttpRequest 对象将文件上传到服务器的 javascript 代码。我接受该文件作为使用 C# 编写的 Web 服务中的流:
int uploadFile(Stream file)
{
using (FileStream fileStream = File.Create(System.AppDomain.CurrentDomain.BaseDirectory + "file.csv"))
{
byte[] buffer = new byte[8 * 1024];
int len;
while ((len = file.Read(buffer, 0, buffer.Length)) > 0)
{
fileStream.Write(buffer, 0, len);
}
}
//process file
return 0;
}
在 javascript 中,文件作为表单数据对象发送:
var fd = new FormData(document.forms.namedItem("file"));
var req = new XMLHttpRequest();
req.open("POST", url, true);
req.send(fd);
现在,我正在尝试将 Excel 文件保存在服务器上。我正在将流读入字节数组并将其写入 csv 文件。但我面临的错误是 csv 文件中的数据损坏。
我哪里出错了,或者有没有其他方法可以通过网络服务上传和保存文件?
谢谢。