1. 程式人生 > >jsp實現圖片的上傳和下載

jsp實現圖片的上傳和下載

將圖片上傳
1.新增使用jar包, jspSmartUpload.jar,並導包;
2.建立jsp頁面,注意必須是“post”方式提交,form標籤中一定要新增enctype=”multipart/form-data”

<body>
    <form action="<%=request.getContextPath()%>/UpServlet" method="post" enctype="multipart/form-data">
        <p><input type="file" name="file1"></p>
<p><input type="file" name="file2"></p> <p><input type="file" name="file3"></p> <p><input type="file" name="file4"></p> <p><input type="submit" value="上傳"></p> </form> </body>

3.新增servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1)建立SmartUpload物件,
        SmartUpload su=new SmartUpload();
        //以及初始化initialize(getServletConfig(), request, response);
        su.initialize(getServletConfig(), request, response);
        //2)設定上傳限制(檔案的大小,型別)
su.setMaxFileSize(1024*1024*9); su.setAllowedFilesList("jpg,png,gif"); //3)呼叫SmartUpload物件的 upload() try { su.upload(); } catch (SmartUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } //4)設定上傳路徑 String path=this.getServletContext().getRealPath("images"); File file=new File(path); if(!file.exists()) { file.mkdir();//建立資料夾 } //5)讀取上傳檔案的個數,開始單個檔案的主傳 int count=su.getFiles().getCount(); List<String> urls=new ArrayList<>(); for (int i = 0; i < count; i++) { /*5.1)讀取本次上傳的檔案 5.2)判斷檔案的大小,如果為0則越過 5.3)改檔名 5.4)呼叫檔案物件的 saveAs()方法 5.5)資料庫處理*/ com.jspsmart.upload.File file1=su.getFiles().getFile(i); if(file1.getSize()==0) { continue; } String filename=file1.getFileName(); try { file1.saveAs(path+"/"+filename); urls.add("images/"+filename);//要新增相對路徑 } catch (SmartUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } } request.setAttribute("urls", urls); request.getRequestDispatcher("success.jsp").forward(request, response); //6)修改跳轉路徑 結束 //7)處理異常,完成跳轉 }

跳轉至success.jsp中顯示

<body>
    <c:forEach items="${urls }" var="url">
        <img alt="" src="${url }"><br>
    </c:forEach>
</body>

關於下載
在WebContent中建個資料夾,裡面存放要下載的內容
這裡寫圖片描述
jsp頁面

<body>
    <a href="<%=request.getContextPath()%>/DownServlet">下載</a>
</body>

servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*建立SmartUpload物件,初始化
        獲得檔案路徑
            su.setContentDisposition(null);
        呼叫下載方法downloadFile(下載的檔案的路徑);*/
        SmartUpload su=new SmartUpload();
        su.initialize(getServletConfig(), request, response);
        String path=this.getServletContext().getRealPath("down/[Java參考文件]JDK_API_1_6_zh_CN.CHM");
        su.setContentDisposition(null);//禁止在瀏覽器中開啟
        try {
            su.downloadFile(path);
        } catch (SmartUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

相關推薦

cool-2018-01-17-java+nginx+ftp實現圖片下載

<!-- Apache工具元件 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>c

django實現圖片顯示

代碼 ngs 文件路徑 ont 添加 pac pre bubuko contex 首先安裝pillow模塊 在models.py下設置 class Notices(models.Model): NoticeCategory=models.CharField(max_

純前端表格控制元件SpreadJS與Java結合,實現模板下載等功能

安裝部署: 開發環境: 後臺伺服器端採用 Java 、SpringMVC。 資料儲存到 \demo_web\WEB-INF\FileDatabase.txt 檔案中,不需要依賴DB。 採用 Eclipse Java EE IDE for Web Develope

[Python] socket實現TFTP下載

一、說明   本文主要基於socket實現TFTP檔案上傳與下載。   測試環境:Win10/Python3.5/tftpd64。   tftpd下載:根據自己的環境選擇下載,地址 :http://tftpd32.jounin.net/tftpd32_download.html   主要內容:TFTP

ASP.NET實現檔案下載

###### 本文的開發配置 ###### .NET版本:.NET Framework 4.0 開發環境:Microsoft Visual Studio 2013 瀏覽器:IE、Chrome、FireFox等都行   1、搭建網站結構 建立一個新的目錄

AJAX實現圖片預覽(傳統ajax與jQuery AJAX;帶圖片的表單提交)

  一、通過Servlet3.0和傳統的AJAX實現圖片上傳和預覽          此方法也適用於帶圖片的表單提交         上傳時預覽圖片    

flask圖片下載

圖片上傳和顯示 上傳儲存 def save_to_local(file, file_name):         save_dir = app.config['

Java實現檔案下載

上面的博文我寫了Java對檔案操作的功能https://blog.csdn.net/qq_24380635/article/details/83273359,這次記錄一下檔案上傳和下載的功能。看看兩者有什麼不同,就可以知道檔案操作和檔案上傳下載有什麼不同了。我也是一點點懂,也

Android Retrofit2.0實現檔案下載

這篇主要介紹retrofit框架的上傳檔案到伺服器和從伺服器下載功能的實現 上傳檔案到伺服器 首先 retrofit2.0之前上傳檔案到伺服器需要一個叫TypedFile這個類,但是在2.0版本,這個類被取消了,因為2.0以後,retrofit內部集成了okhttp

spring實現檔案下載 完整方案

1. 簡介 提供基於spring實現檔案(筆記附件)的上傳和下載的完整方案。方案將檔案上傳,並將檔名稱作為欄位與關聯的筆記繫結在一起,更新筆記在資料庫中的記錄。顯示筆記時,根據筆記所繫結的檔名生成下載

layui實現圖片 預覽功能

效果如下: HTML 的程式碼: <div class="box" style="width: 180px;float: left;"> <div class="layui-upload"> <div class="layui-ro

JSP實現圖片到資料庫

檔案目錄結構 資料庫 CREATE TABLE `user`.`images` ( `id` INT NOT NULL , `content` VARCHAR(100) NULL ,

SpringBoot實現檔案下載

SpringBoot後臺如何實現檔案上傳下載? 最近做的一個專案涉及到檔案上傳與下載。前端上傳採用百度webUploader外掛。有關該外掛的使用方法還在研究中,日後整理再記錄。本文主要介紹SpringBoot後臺對檔案上傳與下載的處理。 單檔案上傳 // 單檔案上傳 @RequestMapp

django 實現圖片顯示操作

版本: django 2.0.1 python 3.6.2 準備工作: pip install pillow 安裝python圖片處理庫 pillow pip

Retrofit實現檔案下載【二】

概述 通過前一篇的部落格介紹,我們已經對Retrofit的使用有了一個大概的瞭解,今天來講講利用Retrofit進行檔案的上傳和下載 檔案上傳 伺服器使用的是SSH框架,因此這裡是以struts2的方式來獲取資料的,我這裡定義了三個欄位用來接收上傳過來

基於tobato的fastdfs與spring boot整合實現檔案下載

專案結構: pom.xml檔案新增配置: <!-- fastdfs --> <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastd

ser-U區域網圖片下載程式碼

springboot整合ftp配置及工具類 1,使用serv-U安裝 ftp 伺服器,測試安裝是否成功 安裝下載,官網地址:http://www.serv-u.com.cn/ 2,在 springboot的 resources下加入配置檔案ftp.properties,配置如下: 加入j

如何在基於Java的Web專案中實現檔案下載

在Sevlet 3 以前,Servlet API中沒有支援上傳功能的API,因此要實現上傳功能需要引入第三方工具從POST請求中獲得上傳的附件或者通過自行處理輸入流來獲得上傳的檔案,我們推薦使用Apac

在SpringMVC框架中實現檔案下載

首先在springmvc.xml中配置檔案上傳的屬性 <!-- 檔案上傳的屬性值 --> <bean id="multipartResolver" class="org.springframework.web.multi

使用springMVC實現檔案下載之檔案下載

接上一篇,檔案下載需要獲取下載檔案的儲存路徑,這裡只是手動填入,如果是在具體專案中,可以把檔名和上傳後的儲存路徑儲存在資料庫中。然後增加一個檔案列表的頁面展示檔名和檔案路徑,然後點選下載的時候把相應的