簡體   English   中英

從GAE Blobstore提供文件

[英]Serve File from GAE Blobstore

每當我們從Blobstore API提供文件服務時,我就多次遇到此問題。 總是以以下方式下載:

serve.fileNameExtention

是否有任何可能的方式可以用來保存或保存文件名稱的文件。

即someName.docx

如果可能的話,請告訴我該怎么做,因為我已經在互聯網上進行搜索,但找不到任何解決方案。

將其設置在標題中:

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);
    }
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);

您必須在提供文件的URL中更改文件名。 您可以使用urlRewriteFilter(https://code.google.com/p/urlrewritefilter/)之類的內容來重寫url,以允許您仍然使用“服務” servlet,但是將其從servlet移出時將url更改為無論您希望他們成為什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM