我有一些從頭開始生成圖像的java代碼。在「on the fly」中指定圖像名稱java圖像生成
我也有一個servlet,根據一些參數(fyi,它是QR碼生成)提供圖像。
我想爲這張圖片指定一個名字,以防有人右鍵點擊並保存。瀏覽器當前將相對URL作爲名稱(即生成),並且沒有擴展名。
你有什麼想法嗎?
謝謝, Alexis。
我有一些從頭開始生成圖像的java代碼。在「on the fly」中指定圖像名稱java圖像生成
我也有一個servlet,根據一些參數(fyi,它是QR碼生成)提供圖像。
我想爲這張圖片指定一個名字,以防有人右鍵點擊並保存。瀏覽器當前將相對URL作爲名稱(即生成),並且沒有擴展名。
你有什麼想法嗎?
謝謝, Alexis。
使用漂亮的網址編輯圖像。
我想你現在正在做的一樣
generateServlet?product=27&query=5
的東西,相反,它映射到
images/qr/product27_q5.png
這種方式,瀏覽器只能看到漂亮的url和建議,作爲一個文件名。它也隱藏了你的實現。
只需將您的servlet映射到images/qr/*
,然後使用正則表達式從請求的路徑中提取實際參數。
你甚至可以產生不同的圖像類型取決於提供的擴展:)
resp.setContentType("image/jpg");
resp.setHeader("Content-Disposition", "attachment; filename=\"" + your_filename + "\"");
+1。注意名稱:)只使用ascii-7或查找有關如何將文件名編碼到標題中的參考。 – helios
這適用於下載圖像,在我的情況下,它顯示在 HTML標記中。我也嘗試過「Content-Disposition」,「inline; –
也可以這樣做。 'img/viewcover.jpg?selected = 22233'viewcover.jpg映射到servlet。 – zawhtut
這是一種可行的方式,但我一直在考慮一些響應標題,或者更好:imageio metadatas :)。無論如何,我會考慮實施它。 –
@zawhtut:是的,但下載後所有圖片都會得到名稱viewcover.jpg。你需要一個不同的名稱,甚至可能對用戶有一定的描述性。 –