将 html canvas 二进制数据发送到 Google 照片 API
Sending html canvas binary data to Google Photos API
我正在尝试将图像从 canvas 上传到 Google 照片:
第 1 步:Upload binary image data
POST https://photoslibrary.googleapis.com/v1/uploads
Content-type: application/octet-stream
Authorization: Bearer OAuth2_TOKEN
X-Goog-Upload-File-Name: FILENAME
MEDIA_BINARY_DATA
我的MEDIA_BINARY_DATA
是
function get_binary_data_from_canvas(){
var canvas = document.getElementById("canvas-upload");
return canvas.toDataURL(); // <- my binary data
}
我得到一个 uploadToken
第 2 步:Create Media Item
我使用在上一步中获得的 uploadToken 发送了一个有效请求。
在我得到的回复中:
"NOT_IMAGE: There was an error while trying to create this media item"
那么从 HTML canvas 生成二进制数据的正确方法是什么?
canvas.toBlob
可能会对您有所帮助。
https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob
我正在尝试将图像从 canvas 上传到 Google 照片:
第 1 步:Upload binary image data
POST https://photoslibrary.googleapis.com/v1/uploads
Content-type: application/octet-stream
Authorization: Bearer OAuth2_TOKEN
X-Goog-Upload-File-Name: FILENAME
MEDIA_BINARY_DATA
我的MEDIA_BINARY_DATA
是
function get_binary_data_from_canvas(){
var canvas = document.getElementById("canvas-upload");
return canvas.toDataURL(); // <- my binary data
}
我得到一个 uploadToken
第 2 步:Create Media Item
我使用在上一步中获得的 uploadToken 发送了一个有效请求。
在我得到的回复中:
"NOT_IMAGE: There was an error while trying to create this media item"
那么从 HTML canvas 生成二进制数据的正确方法是什么?
canvas.toBlob
可能会对您有所帮助。
https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob