1

当请求从 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 天的时间寻找解决方案,但还没有找到解决方案。

4

0 回答 0