分段上传到appengine
我有关于appengine(java / jersey)的多个问题,但现在我很难通过multipart上传文件。
我读过这个答案: https : //stackoverflow.com/a/31325201
它适用于localhost,但是当我上传到appengine时,它在启动服务器时显示相同的错误:
java.lang.SecurityException: Unable to create temporary file
有谁知道它为什么会这样?
谢谢!
您必须使用Blobstore进行上传。
调用blobstoreService.createUploadUrl
为用户将填写的表单创建上载URL,并在表单的POST完成时将应用程序路径传递给加载。
然后在servlet中:
Map> blobs = blobstoreService.getUploads(req); List blobKeys = blobs.get("myFile");
您可以直接将文件上传到存储,但将UploadOptions
传递给.createUploadUrl
:
UploadOptions options = new UploadOptions.Builder().withGoogleStorageBucketName("mybucket"); String uploadUrl = blobstoreService.createUploadUrl("/upload", options)
关注文档https://cloud.google.com/appengine/docs/java/blobstore/#Java_Uploading_a_blob