我有一個簡單的表與下載文件鏈接..從Servlet下載文件 - Chrome警告+下載後如何重定向用戶?
一切似乎工作正常,當我點擊下載,文件被發現在硬盤上,並提供給用戶。
我的問題是,當我檢查鉻我看到:
Resource interpreted as Document but transferred with MIME type application/octet-stream: "http://localhost:8080/fus-app/myUploadedFiles".
它爲什麼會這麼說?
相關的代碼我已經是:
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.setHeader("Content-Disposition", "attachment; filename=\"" + fileNameOnSystem + "\"");
而且獎金的問題:
文件下載後,用戶仍然可以看到該頁面的表格,但我想重定向到一個不同的頁面。我怎樣才能做到這一點?
response.sendRiderect()
似乎不起作用。
編輯:這是我提供的下載鏈接到用戶:
<form method="post" action="<%= request.getServletContext().getContextPath() +"/myUploadedFiles" %>">
<input type="hidden" name="fileNameOnSystem" value="<%= rset.getString("fileNameOnSystem") %>" />
<button type="submit" class="btn btn-default" />Download File </button>
</form>
謝謝您的回答,我已經編輯我的問題。實際上該文件位於驅動器的某個位置,所以我必須提供來自servlet的文件,我不能直接鏈接到該文件。 –
系統上的文件名稱類似於:test1234.pdf,並且我知道它位於哪個目錄(如C:\ appuser \ test1234.pdf),因此我可以提供該文件。所以我只能提供某種參數給servlet,然後我放棄文件。 –
您應該只能提供該servlet處理的URL。客戶端不知道它是否是實際的文件,或者您只是生成隨機位。因此,如果您的servlet處理woogie.com/somefile,則仍然可以在您的網頁上放置:'Export'。 – sdanzig