1. 程式人生 > >Java實現檔案上傳

Java實現檔案上傳

上傳程式碼分為web端和後端,注意事項已標明


<!-- web端程式碼 -->
<!-- 注意 input必須有name屬性,名字無所謂。form中必須加上enctype這個屬性,且方法為post -->
<form action="檔案上傳路徑" method="post" enctype="multipart/form-data">
    <input type="file" name="upload">
</form>

//Java後端程式碼
//需要的jar包 commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar
    //初始化工具
    DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
    ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
    FileOutputStream fileOutputStream = null;
    InputStream inputStream = null;
    String imagePath = null;
        try {
            @SuppressWarnings("unchecked")
            //解析請求
            List fileItems = servletFileUpload.parseRequest(request);
            for (FileItem fileItem : fileItems) {
                if (fileItem.isFormField()) {
                    // 普通form表單域
                    String fieldName = fileItem.getFieldName();//得到表單中input的name
                    if("username".equals(fieldName)){
                        user.setUsername(fileItem.getString());
                    }else if("age".equals(fieldName)){
                        System.out.println("age" + fileItem.getString());
                            if(fileItem.getString() != null){
                                user.setAge(new Integer(fileItem.getString()));
                            }
                    }else if("gender".equals(fieldName)){
                        user.setGender(new Integer(fileItem.getString()));
                    }else if("mail".equals(fieldName)){
                        user.setMail(fileItem.getString());
                    }else if("tel".equals(fieldName)){
                        user.setTel(fileItem.getString());
                    }
                } else {
                    // 不是普通表單域,上傳的檔案
                    inputStream = fileItem.getInputStream();//獲取檔案輸入流
                    byte[] bytes = new byte[1024];//緩衝區
                    Date date = new Date();
                    imagePath = request.getServletContext().getRealPath("images") + "\\" + date.getTime() + ".jpg";
                    File file = new File(imagePath);
                    fileOutputStream = new FileOutputStream(file);
                    int flag2 = 0;
                    while ((flag2 = inputStream.read(bytes)) != -1) {
                        fileOutputStream.write(bytes);
                    }
                }
            }
            imagePath = imagePath.substring(imagePath.lastIndexOf("\\") + 1, imagePath.length());
            //設定檔案路徑
            user.setImage(imagePath);
            //更新使用者資訊
            int updateFlag = userService.update(user);
            //關閉輸入輸出流
            fileOutputStream.close();
            inputStream.close();

            } catch (org.apache.commons.fileupload.FileUploadException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

相關推薦

HTTP POST請求報文格式分析與Java實現檔案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

java實現檔案_後端

maven: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <ver

Java實現檔案和下載

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

java實現檔案下載的三種方法

JSP+Servlet 一、檔案上傳下載原理 在TCP/IP中,最早出現的檔案上傳機制是FTP。它是將檔案由客戶端傳送到伺服器的標準機制。但是在jsp程式設計中不能使用FTP方法來上傳檔案,這是由jsp的執行機制所決定的。 通過為表單元素設定Method=“post” en

Java實現檔案

上傳程式碼分為web端和後端,注意事項已標明 <!-- web端程式碼 --> <!-- 注意 input必須有name屬性,名字無所謂。form中必須加上enctype這個屬性,且方法為post --> <form actio

java實現檔案下載至ftp伺服器

以前做的一個專案,用到了檔案上傳下載至ftp伺服器,現在對其進行一下複習,比較簡單,一下就能看明白。 環境:首先,先安裝ftp伺服器,我是在win8本地用IIS配置的, 百度一下就可以找到安裝文件。 1.在你的專案目錄下建立ftp配置檔案,目錄如下圖

java實現檔案ftp伺服器功能

 java檔案上傳至ftp伺服器         廢話不多說,直接上程式碼,這裡提供兩種方法,此程式執行需要下載apache-commons-net.jar包,可以使用maven倉庫下載,也可以使用http://www.java2s.com/搜尋下載。 第一種方法:使用下

java實現檔案與下載

           東風化宇,檔案上傳 一、對於檔案上傳,瀏覽器在上傳的過程中是將檔案以流的形式提交到伺服器端的,Servlet獲取上傳檔案的輸入流然後再解析裡面的請求引數是比較麻煩。 JSP程式碼,POST請求,表單必須設定為enctype="multipar

java實現檔案的簡單demo

在實際開發中,經常會遇到上傳檔案到伺服器的操作,因此在這裡就舉一個簡單的例子 public class PathUtils { public static String getFolderPath(){ String path =

Java Springboot結合FastDFS實現檔案以及根據圖片url將圖片至圖片伺服器

上一篇文章我們已經講解了如何搭建FastDFS圖片伺服器,環境我們準備好了現在就讓我們開始與Java結合將他應用到實際的專案中吧。本篇文章我們將會展示上傳圖片到FastDFS圖片伺服器以及通過外網的圖片url將圖片上傳至我們自己的圖片伺服器中。 1.建立springbo

java實現ftp檔案

實際專案需求:從資料庫查詢資訊,在本地生成檔案,再上傳到ftp 所用Jar包:NetComponents.jar 核心程式碼: import java.io.File; import java.io.FileInputStream; import java.io.IOExcepti

JAVA使用JSCH實現檔案到linux伺服器

1 匯入jar包 <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version

java實現FTP(檔案)、下載(檔案、資料夾、資料夾遞迴)、刪除(檔案、資料夾遞迴)

提示:必須先保證有在FTP上上傳、下載、刪除的許可權! 本文結構 ---- 先給出測試樣例(圖片版),再給出工具類程式碼(文字版)! 上傳測試 注意:.uploadFile(String remoteDir, String remoteFileName, F

Java實現FTP檔案到Linux伺服器的那些坑

一、Linux安裝FTP服務         首先Linux伺服器需要安裝FTP服務,步驟如下: 1、執行如下ftp服務安裝命令: yum install vsftpd 可能會出現如下錯誤: "Couldn't open file /m

Java Servlet實現檔案並讀取Zip壓縮包中檔案的真實型別

1.上傳檔案servlet PS: 使用ant.jar中的 org.apache.tools.zip.ZipEntry 物件,防止亂碼 package com.chenl.servlets; import java.io.File; import java.io.IOExcep

Java中利用MultipartFile實現檔案

JavaWeb專案頁面實現檔案上傳功能 jsp檔案增加檔案上傳控制元件,可以放在form表單內,增加隱藏域儲存上傳路徑提交到後臺。 <div class="form-group"> <div class="col-sm-7 center "&g

Java實現檔案下載的三種解決方案

第一點:Java程式碼實現檔案上傳   FormFile file=manform.getFile();    String newfileName = null;   String newpathname=null;   String fileAddre="/numU

java實現FTP下載:FTPClient類進行FTP下載大檔案(包含導致假死現象)

介紹:  FTPClient是一個強大的FTP上傳下載工具,可以實現各種方式的ftp檔案傳輸,可以支援上傳下載各種大檔案(已在實踐中使用),而且存在官網使使用者方便的使用這個工具等等。 1.首先,程式中設定ftp請求方式為被動模式,即程式去請求ftp伺服器,要求伺服器來

Java 實現Ftp下載檔案

最近專案中需要實現將檔案先存放到ftp上,需要的時候再從ftp上下載,做的過程中碰到了問題,發現中文檔名的無法上傳到ftp上,ftp上的中文檔名的檔案下載不下來,幾番折騰,終於搞定了,記錄一下備忘。首先給工程新增maven依賴,pom.xml檔案中新增:<depende

JAVA通訊(1)-- 使用Socket實現檔案與下載

客戶端 /** * 檔案上傳客戶端 * * @author chen.lin * */ public class UploadClient extends JFrame { /** * */ priva