JR *_*lia 1 google-app-engine servlets blobstore
文件存储在Appengine Blobstore中.我有一个servlet处理程序,允许用户下载该文件.我使用BlobStoreService来做到这一点.
在我的servlet中,我有以下内容:
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
BlobKey blobKey = new BlobKey( "SOME_BLOB_KEY_HERE" );
blobstoreService.serve(blobKey, res);
Run Code Online (Sandbox Code Playgroud)
它完美地运作.下载文件的文件名来自servlet映射.
如何在我的servlet中设置文件的文件名?
您需要在响应中添加"Content-Disposition"标头:
BlobstoreServiceFactory.getBlobstoreService().serve(blobKey, resp);
BlobInfo blobInfo = new BlobInfoFactory().loadBlobInfo(blobKey);
String encodedFilename = URLEncoder.encode(blobInfo.getFilename(), "utf-8");
encodedFilename.replaceAll("\\+", "%20");
resp.setContentType("application/octet-stream");
resp.addHeader("Content-Disposition", "attachment; filename*=utf-8''" + encodedFilename );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1388 次 |
| 最近记录: |