分段上传到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完成时将应用程序路径传递给加载。

  
" method="post" enctype="multipart/form-data">

然后在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