本文目錄一覽:
jsp實現文件的下載
%@pagelanguage=”java” import=”java.io.*,java.net.*” contentType=”application/x-msdownload” pageEncoding=”UTF-8″%%
//關於文件下載時採用文件流輸出的方式處理:
//加上response.reset(),並且所有的%後面不要換行,包括最後一個;
String url = request.getParameter(“url”);
System.out.print(url);
int k = url.lastIndexOf(“\\”);
String url1=url.substring(k+1,url.length());
response.reset();//可以加也可以不加
response.setContentType(“application/x-download”);
String filedownload = url;
String filedisplay = url1;
filedisplay = URLEncoder.encode(filedisplay,”UTF-8″);
response.addHeader(“Content-Disposition”,”attachment;filename=” + filedisplay);
OutputStream outp = null;
FileInputStream in = null;
try
{
outp = response.getOutputStream();
in = new FileInputStream(filedownload);
byte[] b = new byte[1024];
int i = 0;
while((i = in.read(b)) 0)
{
outp.write(b, 0, i);
}
out.clear();
out = pageContext.pushBody();
outp.flush();
}
catch(Exception e)
{
System.out.println(“Error!”);
}
finally
{
if(in != null)
{
in.close();
in = null;
}
if(outp != null)
{
outp.close();
outp = null;
}
}
%
怎麼把網上下載的jsp代碼放進eclipse中運行,求詳細的過程
有以下方式:
1、如果是Eclipse項目,可以直接使用導入功能整個的導入進去。
2、如果不是Eclipse項目,可以重新在Eclipse裡面新建一個Web項目,然後把需要的jsp文件複製粘貼到WebContent裡面。
從網上下載的JSP源代碼要再怎麼運行
首先用eclipse導入到項目中, tomcat解壓到本地
根據提示修正build path錯誤
根據提示講faced修改為webapp
eclipse右鍵 run as tomcat即可
jsp頁面如何實現下載文檔
jsp頁面下載文檔是在jsp中有一個a標籤 ,當用戶點擊a標籤的時候下載文件。
一般採用href屬性直接指向一個伺服器地址,只要鏈接的文件存在,就會給出彈出保存對話框.
點擊a標籤 先執行onclick事件,再請求href中指向的地址。
前端jsp:
a href=”#” onclick=”javascript:downloadtest(‘${app.id}’)” id=”pluginurl” style=”color: #83AFE2;text-decoration:underline;”/a
然後在js中:
function downloadtest(id){
var url = “%=request.getContextPath()%/app/download” + “/” + id;
$(“#pluginurl”).attr(“href”,url);
}
後台處理下載邏輯的java代碼:
/**
* 下載文件
* @param id appid
* @param response
*/
@RequestMapping(value=”/download/{id}”)
public void download(@PathVariable String id, HttpServletResponse response){
String filepath = “”;
Result result = appService.getAppById(id);
App app = (App) result.getMap().get(“app”);
if(app == null){
return;
}
filepath = app.getUrl();
File file = new File(filepath);
InputStream inputStream = null;
OutputStream outputStream = null;
byte[] b= new byte[1024];
int len = 0;
try {
inputStream = new FileInputStream(file);
outputStream = response.getOutputStream();
response.setContentType(“application/force-download”);
String filename = file.getName();
filename = filename.substring(36, filename.length());
response.addHeader(“Content-Disposition”,”attachment; filename=” + URLEncoder.encode(filename, “UTF-8”));
response.setContentLength( (int) file.length( ) );
while((len = inputStream.read(b)) != -1){
outputStream.write(b, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(inputStream != null){
try {
inputStream.close();
inputStream = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if(outputStream != null){
try {
outputStream.close();
outputStream = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
JSP下載代碼
我就不給你代碼。呵呵。
1、得到該目錄下文件的名集合。
2、將該集合的內容動態生成多下拉列表框。
3、在用戶選擇並按下下載後,轉入下載頁面,同時傳遞用戶選擇的文件名供這個頁面動態生成下載地址。
例如,文件集合為a.txt、b.txt,文件存在了webapp目錄下的down文件夾。
用戶提交了 a.txt,這時候只要在你想的地方生成一個連接到***.***.***/down/a.txt 的超鏈接就可以了。
原創文章,作者:AVGI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150248.html