国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringMVC文件上傳

Karuru / 2611人閱讀

摘要:為文件上傳提供了直接的支持,這種支持是用即插即用的實現(xiàn)的。因此,的文件上傳還需要依賴的組件。上傳文件時,需要配置處理器文件上傳文件上傳是項目開發(fā)中最常見的功能。為了能上傳文件,必須將表單的設(shè)置為,并將設(shè)置為。

SpringMVC為文件上傳提供了直接的支持,這種支持是用即插即用的MultipartResolver實現(xiàn)的。SpringMVC使用Apache Commons FileUpload技術(shù)實現(xiàn)了一個MultipartResolver實現(xiàn)類:CommonsMultipartResolver。因此,SpringMVC的文件上傳還需要依賴Apache Commons FileUpload的組件。
1. 添加pom依賴
    
      commons-io
      commons-io
      2.3
    
    
      commons-fileupload
      commons-fileupload
      1.3.2
    
2. 配置文件上傳bean

在spring mvc配置文件中增加一個文件上傳bean。

    
    
        
    
3.文件上傳
文件上傳是項目開發(fā)中最常見的功能。為了能上傳文件,必須將表單的method設(shè)置為POST,并將enctype設(shè)置為multipart/form-data。只有在這樣的情況下,瀏覽器才會把用戶選擇的文件以二進制數(shù)據(jù)發(fā)送給服務(wù)器。

上傳文件界面:upload_form.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    文件上傳






文件1:

文件2:

文件3:

用戶名:

密碼:

上傳結(jié)果返回界面:upload_result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


    

上傳結(jié)果為:${message}

注意:要提前創(chuàng)建好存儲文件的文件夾,比如我的路徑為:"D:staticResourcesTestimgupload"。

FileController.java

@Controller
@RequestMapping("/SpringMVCDemo1")
public class FileController {
    /**
     * 跳轉(zhuǎn)到上傳頁面
     * @GetMapping 是一個組合注解,是@RequestMapping(method = RequestMethod.GET)的縮寫。
     */
    @GetMapping("/gotoUploadForm")
    public String index() {
        return "/upload_form.jsp";
    }

    /**
     * 上傳單個文件
     * 通過MultipartFile讀取文件信息,如果文件為空跳轉(zhuǎn)到結(jié)果頁并給出提示;
     * 如果不為空讀取文件流并寫入到指定目錄,最后將結(jié)果展示到頁面
     * @param multipartFile
     * @PostMapping 是一個組合注解,是@RequestMapping(method = RequestMethod.POST)的縮寫。
     */
    @PostMapping("/upload")
    public String uploadSingleFile(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request){
        if (multipartFile.isEmpty()){
            request.setAttribute("message",  "Please select a file to upload "");
            return "/upload_result.jsp";
        }

        try {
            String contentType = multipartFile.getContentType();
            String originalFilename = multipartFile.getOriginalFilename();
            byte[] bytes = multipartFile.getBytes();
            System.out.println("上傳文件名為-->" + originalFilename);
            System.out.println("上傳文件類型為-->" + contentType);
            System.out.println("上傳文件大小為-->"+bytes.length);

            //filePath為存儲路徑
            String filePath = "d:/staticResourcesTest";
            System.out.println("filePath-->" + filePath);
            //存儲在staticResourcesTest下的imgupload文件夾下
            File parentPath = new File(filePath, "imgupload");
            System.out.println("上傳目的地為-->"+parentPath.getAbsolutePath());
            try {
                File destFile = new File(parentPath,originalFilename);//上傳目的地
                FileUtils.writeByteArrayToFile(destFile,multipartFile.getBytes());
            } catch (Exception e) {
                e.printStackTrace();
            }
            request.setAttribute("message",  "You successfully uploaded "" + multipartFile.getOriginalFilename() + """);

        } catch (IOException e) {
            e.printStackTrace();
        }
        return "/upload_result.jsp";
    }

    /**
     * 上傳多個文件,同時接受業(yè)務(wù)數(shù)據(jù)
     * @param origFiles
     * @param request
     * @param user
     * @return
     */
    @PostMapping("/uploadMultiFiles")
    public String uploadMultiFiles(@RequestParam("file") List origFiles, HttpServletRequest request, User user) {
        //User為實體類
        System.out.println("User=="+user);
        if (origFiles.isEmpty()) {
            request.setAttribute("message",  "Please select a file to upload "");
            return "/upload_result.jsp";
        }

        try {
            for (MultipartFile origFile : origFiles) {
                String contentType = origFile.getContentType();
                String fileName = origFile.getOriginalFilename();
                byte[] bytes = origFile.getBytes();
                System.out.println("上傳文件名為-->" + fileName);
                System.out.println("上傳文件類型為-->" + contentType);
                System.out.println("上傳文件大小為-->"+bytes.length);

                String filePath = "d:/staticResourcesTest";
                System.out.println("上傳目的地為-->"+filePath);
                try {
                    //上傳目的地(staticResourcesTest文件夾下)
                    File destFile = new File(filePath,fileName);
                    FileUtils.writeByteArrayToFile(destFile,origFile.getBytes());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            request.setAttribute("message",  "You successfully uploaded "");
        } catch (IOException e) {
            e.printStackTrace();
        }

        return "/upload_result.jsp";
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/73859.html

相關(guān)文章

  • SpringMVC【參數(shù)綁定、數(shù)據(jù)回顯、文件上傳

    摘要:那我們就不用在每一個方法通過將數(shù)據(jù)傳到頁面。還能夠配置該參數(shù)是否是必須的。方法的返回值有種重定向轉(zhuǎn)發(fā)內(nèi)部就是將數(shù)據(jù)綁定到域?qū)ο笾械摹W⒔饽軌驅(qū)?shù)據(jù)綁定到中也就是中,如果經(jīng)常需要綁定到中的數(shù)據(jù),抽取成方法來使用這個注解還是不錯的。 前言 本文主要講解的知識點如下: 參數(shù)綁定 數(shù)據(jù)回顯 文件上傳 參數(shù)綁定 我們在Controller使用方法參數(shù)接收值,就是把web端的值給接收到Cont...

    Flink_China 評論0 收藏0
  • SpringMVC 文件上傳注意事項

    摘要:問題出現(xiàn)在沒有熟練使用,采用上傳文件主要注意幾個事項。配置在文件中,增加一個處理文件上傳同時要在文件夾下的下建立目錄。控制器團隊項目集合路徑團隊項目集合是上傳文件的臨時存儲路徑。這個步驟最關(guān)鍵,否則文件上傳不上去。 簡介 我在使用 idea 上傳文件時遇到一些問題,費了好些時間,最后還是的隊友來幫忙。 問題出現(xiàn)在沒有熟練使用 IDE,采用 SpringMVC 上傳文件主要注意幾個事項。...

    aaron 評論0 收藏0
  • springmvc 接收上傳圖片并且存儲至本地目錄

    摘要:圖片存儲的方式為存儲在虛擬目錄下并返回虛擬目錄的路徑。如果是將開發(fā)的包直接部署在服務(wù)器中,則參考配置虛擬目錄。 序言:項目環(huán)境 本次簡單的demo是建立在springmvc框架上的,部署環(huán)境為tomcat,前段使用的bootstrap+jquery_file_upload組件。圖片存儲的方式為存儲在虛擬目錄下并返回虛擬目錄的路徑。建議先搭配好springmvc環(huán)境再繼續(xù)參考本博客。沒有...

    SimpleTriangle 評論0 收藏0

發(fā)表評論

0條評論

Karuru

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<