0

Blobstore API からファイルを提供するたびに、この問題に何度か直面しました。常に次のようにダウンロードされます。

serve.fileNameExtention

保存した名前のファイルを提供またはダウンロードできる方法はありますか。

つまり、someName.docx

可能であれば、ネットで調べたのですが解決策が見つからなかったので、方法を教えてください。

4

3 に答える 3

3

ヘッダーに設定します:

public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws IOException {
        BlobKey blobKey = new BlobKey(req.getParameter("blob-key")); //example
        String filename = "someName.docx";
        res.setHeader("Content-Disposition", "attachment; filename=\"" +fileName +\"");

        blobstoreService.serve(blobKey, res);
    }
于 2012-07-18T14:16:17.437 に答える
1
BlobKey blobKey = new BlobKey(key);                

BlobInfo blobInfo =  new BlobInfoFactory().loadBlobInfo(blobKey);
// set response header
response.setContentType(blobInfo.getContentType());
response.setHeader("Content-Disposition", "filename=" + blobInfo.getFilename());

// serve blob
blobService.serve(blobKey, response);
于 2013-01-14T09:17:32.873 に答える
0

ファイルを提供している URL のファイル名を変更する必要があります。urlRewriteFilter (https://code.google.com/p/urlrewritefilter/) のようなものを使用して URL を書き換えて、「サーブ」サーブレットを引き続き使用できるようにすることができますが、サーブレットから出る途中で URL を次のように変更します。あなたが望むものは何でも。

于 2012-07-18T14:15:14.793 に答える