使用Rest API将文件上传到Google云端硬盘旋转(翻转)图像

时间:2018-03-26 13:26:22

标签: google-drive-api

我正在尝试使用上传端点将文件从salesforce上传到Google云端硬盘。

以下是我的代码:

   Blob file=newAtt.Body;
   String fileName=newAtt.Name;
   String fileType=''; 
   String boundary = '----------9889464542212';
   String delimiter = '\r\n--' + boundary +'\r\n';
   String close_delim = '\r\n--' + boundary + '--';
   String bodyEncoded = EncodingUtil.base64Encode(file);
   String body=delimiter+'Content-Type: application/json\r\n\r\n'+'{ "title" : "'+ filename+'",'+' "mimeType" : "'+ filetype+ '", "parents" : [{"id" : "'+folderId+'"}]}'+delimiter+'Content-Type: ' + filetype + '\r\n'+'Content-Transfer-Encoding: base64\r\n'+'\r\n'+bodyEncoded+close_delim;
   System.debug('body' + body);
   Http http = new Http();
   HttpRequest req = new HttpRequest();
   req.setEndpoint('https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart');
   req.setHeader('Authorization', 'Bearer ' +accessToken);
   req.setHeader('Content-Type', 'multipart/mixed; boundary="'+boundary+'"');
   req.setHeader('Content-length', String.valueOf(body.length()));
   req.setBody(body);
   req.setMethod('POST');
   req.setTimeout(60*1000);
   HttpResponse resp = http.send(req);
  

现在,查看我从salesforce获取的blob对象   正确的方向。但上传时的文件相同   谷歌驱动它翻转/旋转到90度。

所有图片都不会发生

我想知道代码中是否有任何错误,或者有任何其他方法可以解决此问题。

更多细节:

我首先将图片从移动设备上传到salesforce,然后从salesforce上传到google drivesalesforce中的方向是正确的。

1 个答案:

答案 0 :(得分:0)

这与Google Drive API和代码无关。当我upload images从我的电脑到谷歌驱动器时,我得到相同的默认方向。您可能一直在使用软件旋转图像,当您上传该图像时,它当然会遵循默认方向。

将图像保存到计算机。您在其中看到的方向是默认方向,相同的内容将在您上传该文件时反映出来。