如何将js客户端的图像保存到blobstore
how to save a image from js client to blobstore?
我想将浏览器中的图像保存到谷歌blobstore中。我已经尝试过:将我的img转换为base64字符串:
reader = new FileReader();
reader.readAsBinaryString(file);
调用我的Endpoint函数将其发送到谷歌应用程序引擎。
var request = gapi.client.helloworldendpoints.uploadImage({'imageData': __upload.imageData, 'fileName': __upload.fileName, 'mimeType': __upload.mimeType, 'size': __upload.size});
request.execute(
function (result) {
console.log("Callback:");
console.log(result);
}
);
我在Java中的端点是这样的:
@ApiMethod(name = "uploadImage", path = "/uploadImage", httpMethod = "POST")
public ImageUploadRequest uploadImage(@Named("imageData") byte[] imageData, @Named("fileName") String fileName, @Named("mimeType") String mimeType, @Named("size") float size) {
return new ImageUploadRequest(imageData, fileName, mimeType, size);
}
问题是,我的端点似乎无法处理base64的传输。我总是得到503后端错误
通过应用程序引擎将数据从js客户端发送到blobstore的最佳方式是什么?
UPDATE主要问题解决了。我设法上传了blob。
Javascript
var request = gapi.client.helloworldendpoints.uploadImage({
'imageData': __upload.imageData,
'fileName': __upload.fileName,
'mimeType': __upload.mimeType,
'size': __upload.size
});
Java端点
public ImageUploadRequest uploadImage(
Request imageData,
@Named("fileName") String fileName,
@Named("mimeType") String mimeType,
@Named("size") float size
) { ... }
请求只是这个
public class Request {
public Blob image;
}
我的下一个问题是由于blobstorage只接受发送到servlet的数据,我如何从GAE的Java Endpoint向UploadServlet发送MultipartRequest以创建blobkey并将数据保存到blobstorage中?
相关文章:
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- 将多个重叠的透明图像保存为一个图像
- 将图像保存到安卓系统中的SD卡
- 将图像保存到硬盘驱动器
- 在将图像保存到服务器之前检查图像大小
- 使用Cordova contacts插件将图像保存到用户的联系人中
- 如何使用纯javascript或jQuery将HTML5画布屏幕作为png图像保存到项目的特定文件夹中
- 是否可以调用Google API获取地图图像并将图像保存在某个位置
- 将图像保存到用户的pc缓存中,并使用asp.net从缓存中使用它
- 谷歌图表将缩放的图像保存为PNG
- 将上传的图像保存在本地位置
- 如何将图像保存为基数 64
- 将上传的图像保存到本地存储(chrome 扩展程序)
- 无法将完整画布图像保存到服务器
- 如何将画布图像保存在磁盘中
- React Native 将 http 图像保存到 Android 相机胶卷
- 使用Phonegap将图像保存到Iphone照片库
- 将图像保存到Webkit和Gecko中的blob
- Javascript和FF-addon:如何在不重新下载的情况下将图像保存到本地磁盘
- 将本地计算机上的相机捕获的图像保存在文件夹中