JavaWeb從後臺下載檔案
最近博主在做一個專案,就做到有關檔案上傳下載的功能,現在來程式碼實現一下如何進行通過前端
點選下載,來下載存在後臺的圖片。
首先博主做得專案的主要功能是從客戶傳照片到伺服器,在通過伺服器處理後存到伺服器後臺,客戶
可以在伺服器處理完後立即下載該圖片
因此,我的下載介面程式碼如下:
UploadPSucceed.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request .getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'UploadPSucceed.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
恭喜你,圖片上傳成功!
<a href=/Picture3/DownLoadPicture>下載圖片</a>
</body>
<font color="red" size="2"> ${message}</font>
</html>
介面如下,顯示的是我上傳圖片成功之後的介面,重點是在後面的下載圖片按鈕上:
接下來就是後臺怎麼響應前端提交的下載圖片的請求了:
DownloadPicture.java
package com.picture.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownLoadPicture extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
try {
// 開啟檔案
// 獲取到要下載檔案的全路徑
// 得到要下載的檔名,小夥伴可以根據自己的實際檔名更改,這裡是博主自己定義的檔名
String destinationfileName = request.getSession().getAttribute("destinationfileName").toString();
destinationfileName = new String(destinationfileName.getBytes("iso8859-1"), "utf-8");
// 得到要下載的檔案的所在目錄,同上,小夥伴可以根據自己專案更改內容
String uploadpath = request.getSession().getAttribute("uploadPath").toString();
// 得到要下載的檔案
File file = new File(uploadpath + "\\" + destinationfileName);
//如果檔案不存在,則顯示下載失敗
if (!file.exists()) {
request.setAttribute("message", "下載失敗");
request.getRequestDispatcher("/WEB-INF/UploadPSucceed.jsp").forward(request, response);
return;
} else {
// 設定相應頭,控制瀏覽器下載該檔案,這裡就是會出現當你點選下載後,出現的下載地址框
response.setHeader("content-disposition",
"attachment;filename=" + URLEncoder.encode(destinationfileName, "utf-8"));
// 讀取要下載的檔案,儲存到檔案輸入流
FileInputStream in = new FileInputStream(uploadpath + "\\" + destinationfileName);
// 建立輸出流
OutputStream out = response.getOutputStream();
// 建立緩衝區
byte buffer[] = new byte[1024];
int len = 0;
// 迴圈將輸入流中的內容讀取到緩衝區中
while ((len = in.read(buffer)) > 0) {
// 輸出緩衝區內容到瀏覽器,實現檔案下載
out.write(buffer, 0, len);
}
// 關閉檔案流
in.close();
// 關閉輸出流
out.close();
}
} catch (Exception e) {
// TODO: handle exception
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
具體演示如下:
至此,如何從後臺獲取檔案就是這樣實現的啦,希望對你有幫助。
相關推薦
JavaWeb從後臺下載檔案
最近博主在做一個專案,就做到有關檔案上傳下載的功能,現在來程式碼實現一下如何進行通過前端 點選下載,來下載存在後臺的圖片。 首先博主做得專案的主要功能是從客戶傳照片到伺服器,在通過伺服器處理後存到伺服器後臺,客戶 可以在伺服器處理完後立即下載該圖片 因此
Java Web實現使用瀏覽器從伺服器下載檔案(後臺)
Java Web實現 使用瀏覽器從伺服器下載檔案。 下面實現兩種情況的下載,需求如下:需求(一):1、使用者在頁面填寫表單。 2、填寫完成後,選擇下載,將表單內容發往後臺。 3、後臺根據內容生產一個檔案,傳送給前端。 4、前端成功下載檔案到本地。 此需求簡單來說就是,使用者在
Java從伺服器下載檔案到本地
我的需求是從伺服器端的某磁碟中獲取amr檔案,並下載。 首先傳遞的引數strUrl為物理路徑,是絕對路徑。 //獲取檔名,此處看個人如何設計的 String filename = strUrl.substring(strUrl.lastIndexOf("/")+1); filena
RestTemplate後臺下載檔案demo
@RequestMapping(path="/test", method=RequestMethod.GET) public void productDat2(@RequestParam final Long id, HttpServletResponse response) { Xxx byId
使用“rz -be”命令上傳檔案至伺服器;使用“sz 檔名”從伺服器下載檔案到本地
我們知道在與linux 做檔案交換的時候,經常會使用到windows 檔案上傳到linux 或者linux 檔案下載到windows之類的情況,其中大家使用比較常用的就是 Xftp,sftp,FileZilla等,那麼今天就介紹另外一種方式上傳與下載檔案rz/sz 測試環境: CentOs
簡單實現從瀏覽器下載檔案
最容易出錯到點 JDBC連線資料庫卻忘記導包:mysql-connector-java-5.1.7-bin.jar 使用Servlet卻忘記導tomcat的包:servlet-api.jar,這個包在tomcat/lib中找到 自己手寫Servlet卻忘記到web.x
瀏覽器從伺服器下載檔案的Servlet例項
測試兩種下載:瀏覽器通過伺服器下載其他網站檔案(http協議);瀏覽器下載伺服器本地硬盤裡的檔案(file協議) 1.工具類downloadUtils.java的核心部分 //伺服器使客戶端可以從遠端url下載檔案 public void download(String
python從FTP下載檔案
#!/usr/bin/python # -*- coding: utf-8 -*- """ FTP常用操作 """ from ftplib import FTP import os class FTP_OP(object): def __init__(self, host, us
從伺服器下載檔案DOWNLOAD_WEB_OBJECT
FORM DOWNLOAD_EXCEL_DATA USING FP_DOWN_FILE LIKE sapb-sappfad. data: l_down_save LIKE rlgrap-filename. DATA: l_qty like vbap-kwmeng. "pri_pack-cqty. d
php從伺服器下載檔案到本地
/* *功能:php完美實現下載遠端圖片儲存到本地 *引數:檔案url,儲存檔案目錄,儲存檔名稱,使用的下載方式 *當儲存檔名稱為空時則使用遠端檔案原來的名稱 */ function getImage($url,$save_dir='',$filename='',$
從Linux下載檔案到Windows沒有換行問題
這是一個小問題,一般用txt開啟檔案才會遇到,word開啟也是正常(估計其他程式設計軟體開啟也正常)。 順便提一下pscp從Linux上下載檔案到Windows。 C:\Users\xuefei>pscp [email protected]:/home/xf/b.sh c:\
js動態請求後臺下載檔案
<button type="button" onclick="download()">匯出</button>function download() { var url = 'download/?filename=aaa.txt'; var x
python用 requests 模組從 Web 下載檔案
requests 模組讓你很容易從 Web 下載檔案,不必擔心一些複雜的問題,諸如網路錯誤、連線問題和資料壓縮。requests 模組不是 Python 自帶的,所以必須先安裝。通過命令列,執行 pip install requests。編寫 requests 模組是因為 P
從tomcat下載檔案
其實最開始的需求,就是希望使用tomcat下載伺服器上的一些檔案。當然如果檔案就放在{tomcat_home}/webapp/myproject/下那一切都好辦。但是把自己放在這裡,每次eclipse那邊一啟動,東西就沒了。不合適。方案一從網上查到的資料,是這樣的。1、在to
java 從伺服器下載檔案並儲存到本地
最近在做專案,做到檔案的下載,假設公司有檔案伺服器(像ftp或者其他),像開發人員怎麼進行從檔案伺服器上下載檔案到本地指定目錄下!又或者需要從網上下載資源到本地指定的目錄下,這時候最需要關心的幾個問題就是: (1)客戶端發起一個url請求,獲取連線物件。
XShell本地上傳檔案到Ubuntu上及從Ubuntu下載檔案到本地
使用XShell本地上傳檔案到Ubuntu上及從Ubuntu下載檔案到本地。 1.第一種方法是最常用的 :如果下載了Xshell和Xftp,Ctrl+Alt+F就可以選擇檔案的互傳了!(虛擬機器/雲伺服器通用)--只要相互間能ping得通。 2.第二種方法 :
將檔案上傳到資料庫 和 從資料庫下載檔案到本地
有時候我們需要把圖片、文件、dll檔案、等等,上傳的資料庫,然後當需要的時候再從資料庫中讀取到本地,下面我以上傳圖片為例,講解一下如何把本地的一張圖片上傳到資料庫,然後再從資料庫下載到本地。 工具:VS2010,Sql Server 2000。語言:C#。 像
java從FTP下載檔案功能
java下載檔案功能,匯出的時候會下載到瀏覽器預設下載資料夾裡,360瀏覽器會彈出一個儲存檔案的彈出框 //下載匯出報表 //JS function downloadExport(filename){ window.location.href=”
Java從伺服器下載檔案到本地(親測有效)
我用的是swagger 前後臺分離的專案 我的需求是從伺服器端的某磁碟中獲取按模板生成的word檔案,並下載。 思路: 按模板在伺服器上生成一個word文件 通過流的方式讀取word響應給瀏覽器 最後刪除在伺服器生成的word文件 public void word
網路學習 Linux 從伺服器下載檔案的命令總結
1 yum 或者 apt-get 這兩個命令是從自己的下載中心裡查詢對應的安裝包 : 所有yum 或者 apt-get 無需指定 http 地址,只需要 指定安裝包的名字就行了。 區別,對應不同的Linux系統 yum 對應 centos apt-ge