当请求从 JavaScript 中的 Google Docs Api 获取文件时,我们在 responseText 中获取字符串。
所以现在我们将该字符串带到后面的代码并尝试保存,但保存后我们收到文件损坏错误。
下面是我在 xhr.responseText 中以字符串形式获取文件数据的 JavaScript 函数:
var accessToken = gapi.auth.getToken().access_token;//get the access token
var xhr = new XMLHttpRequest();
xhr.open('GET', file.attributes.path, false);//Pass filename to from Google docs
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function () {
managerDialog.uploadFile(xhr.responseText, file.text);//We get string as response in responseText
};
在代码背后的代码中,我已将 xhr.responseText 传递给 fileContent:
var bytes = Encoding.UTF8.GetBytes(fileContent);//Converting string to UTF8 byte
MemoryStream st2 = new MemoryStream(bytes, 0, bytes.Length);//Creating Memory Stream.
FileStream file = new FileStream(filepath, FileMode.Create, System.IO.FileAccess.Write);
byte[] bytes1 = new byte[st2.Length];
st2.Read(bytes1, 0, (int)st2.Length);//Reading Stream.
file.Write(bytes1, 0, bytes1.Length);
file.Close();//close the file.
st2.Close();//close the stream.
然后我保存在文件中。保存后我试图打开它说文件已损坏。
任何人都可以帮助我。
它花了 3 天的时间寻找解决方案,但还没有找到解决方案。