欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaWeb利用struts實現(xiàn)文件下載時改變文件名稱

 更新時間:2016年06月29日 10:38:19   投稿:lijiao  
這篇文章主要為大家詳細介紹了JavaWeb利用struts實現(xiàn)文件下載時改變文件名稱的相關資料,需要的朋友可以參考下

先看看效果圖:

package com.fenghuo.struts.download;

import java.net.URLEncoder;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DownloadAction;

import com.fenghuo.music.util.FileUtils;

public class DownLoad extends DownloadAction {

@Override
protected StreamInfo getStreamInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//獲取資源文件的名稱
String resname = request.getParameter("resname");

//利用struts下載資源
return new DownloadAction.ResourceStreamInfo("audio/x-mpeg", this
.getServlet().getServletContext(), "/resource/music/" + resname);
}

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//向瀏覽器發(fā)送消息頭,使文件以附件的方式打開,并找到資源名對應的文件名稱發(fā)送給瀏覽器
String resname = request.getParameter("resname");

FileUtils fu = new FileUtils(this.getServlet().getServletContext());
Map<String,String> musmap = fu.getMusmap();
String name = musmap.get(resname);

//同時對文件名進行編碼。在FireFox下還是有亂碼,不明白原因,望指教。
response.setHeader("content-disposition", "attachment;filename="
+ URLEncoder.encode(name, "UTF-8"));
return super.execute(mapping, form, request, response);
}
}


以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • springboot使用redis注解做緩存的基本操作方式

    springboot使用redis注解做緩存的基本操作方式

    這篇文章主要介紹了springboot使用redis注解做緩存的基本用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 詳解Spring Bean 之間的特殊關系

    詳解Spring Bean 之間的特殊關系

    在 Spring 容器中,兩個 Bean 之間除了通過 <ref> 建立依賴關系外,還存在著一些特殊關系。這篇文章給大家想想介紹了Spring Bean 之間的特殊關系,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2018-05-05
  • spring AOP的Around增強實現(xiàn)方法分析

    spring AOP的Around增強實現(xiàn)方法分析

    這篇文章主要介紹了spring AOP的Around增強實現(xiàn)方法,結(jié)合實例形式分析了spring面向切面AOP的Around增強具體步驟與相關操作方法,需要的朋友可以參考下
    2020-01-01
  • Jenkins使用Gradle編譯Android項目詳解

    Jenkins使用Gradle編譯Android項目詳解

    這篇文章主要介紹了Jenkins使用Gradle編譯Android項目詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • IDEA無法打開Marketplace的三種解決方案(推薦)

    IDEA無法打開Marketplace的三種解決方案(推薦)

    這篇文章主要介紹了IDEA無法打開Marketplace的三種解決方案(推薦),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • mybatis-plus樂觀鎖實現(xiàn)方式詳解

    mybatis-plus樂觀鎖實現(xiàn)方式詳解

    這篇文章主要介紹了mybatis-plus樂觀鎖實現(xiàn)方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java中正則表達式的使用和詳解(下)

    Java中正則表達式的使用和詳解(下)

    這篇文章主要介紹了Java正則表達式的使用和詳解(下)的相關資料,包括常用正則表達式和正則表達式語法,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-04-04
  • 如何設置springboot啟動端口

    如何設置springboot啟動端口

    spring boot是個好東西,可以不用容器直接在main方法中啟動,而且無需配置文件,方便快速搭建環(huán)境。下面給大家介紹springboot啟動端口的設置方法和spring boot創(chuàng)建應用端口沖突8080 問題,感興趣的朋友一起看看吧
    2017-08-08
  • 詳解SpringBoot項目的創(chuàng)建與單元測試

    詳解SpringBoot項目的創(chuàng)建與單元測試

    這篇文章主要介紹了詳解SpringBoot項目的創(chuàng)建與單元測試,幫助大家更好的理解和學習使用SpringBoot,感興趣的朋友可以了解下
    2021-03-03
  • 解決Eclipse中java文件的圖標變成空心J的問題

    解決Eclipse中java文件的圖標變成空心J的問題

    這篇文章主要介紹了解決Eclipse中java文件的圖標變成空心J的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論