Javascript Google Drive API浏览器上载PDF空
我可以上传pdf文件,但它将作为空白/空文件上传。我不知道我错过了什么 当我收到该文件时,我也尝试不转换为Javascript Google Drive API浏览器上载PDF空,javascript,google-drive-api,Javascript,Google Drive Api,我可以上传pdf文件,但它将作为空白/空文件上传。我不知道我错过了什么 当我收到该文件时,我也尝试不转换为Base64,但仍然是一样的 using (var sr = new StreamReader(file.OpenReadStream(), System.Text.Encoding.UTF8)) { _fContent = await sr.ReadToEndAsync(); var plai
Base64
,但仍然是一样的
using (var sr = new StreamReader(file.OpenReadStream(), System.Text.Encoding.UTF8))
{
_fContent = await sr.ReadToEndAsync();
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(_fContent);
_fContent = System.Convert.ToBase64String(plainTextBytes);
}
前端我创建请求
endpoint = 'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&fields=id';
method = 'POST';
_metadata = {
'name': fileName,
'mimeType': 'application/pdf',
'parents': [zzzz]
};
//blob is the data we receive in backend from _fContent variable
var file = new Blob([blob], { type: 'application/pdf' });
var accessToken = gapi.auth.getToken().access_token;
var form = new FormData();
form.append('metadata', new Blob([JSON.stringify(_metadata)], { type: 'application/json' }));
form.append('file', file);
var xhr = new XMLHttpRequest();
xhr.open(method, endpoint);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.responseType = 'json';
xhr.onload = () => {
GapiUploadCallback(xhr.response, responseReturn);
};
xhr.send(form);
这是我在GoogleDriveAPI中收到的,一个空/空的PDF文件。注意:文件大小为
1 MB(1424457字节)
使用javascript
FileReader
是我能解决这个问题的唯一选择。PDF现在在Google Drive上呈现正常
var fileUpload = $("#fileUpload").get(0);
var files = fileUpload.files;
var reader = new FileReader();
reader.onload = function () {
var dataURL = reader.result;
var file = new Blob([dataURL], { type: 'application/pdf' });
var accessToken = gapi.auth.getToken().access_token; // Here gapi is used for retrieving the access token.
var form = new FormData();
form.append('metadata', new Blob([JSON.stringify(_metadata)], { type: 'application/json' }));
form.append('file', file);
var xhr = new XMLHttpRequest();
xhr.open(method, endpoint);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.responseType = 'json';
xhr.onload = () => {
GapiUploadCallback(xhr.response, responseReturn);
};
xhr.send(form);
};
reader.readAsArrayBuffer(files[0]);
我认为你的剧本行得通。例如,确认
var file=newblob([blob],{type:'application/pdf'})的blob
如何代码>又来了?或者当blob
下载PDF文件时,您会得到什么结果?如果这没有导致直接解决,我道歉。这是blob结果。。。结果要长得多。```%PDF-1.3%���� 10 0 obj]/长度145920>>流x���eT\��6.�%����ܭp�N��Sx�܂������3.�3f�����噢��ϧ{��9g�}�}��s���$H�Q���P�Q���0p(�P��Q�H�(X>���|ff�����电子束��������!�G��b$�����N`���Q�酸碱度��H������7.��� >................ ```谢谢你的回复。我很高兴你的问题得到了解决。