• 文件上传下载


    2015.12.10 文件上传下载

    Application/x-www-form-urlencoded

    只需要在input里面的type里面设置 为fileenctype="multipart/form-data"

    举例:

    <form action="" method="" enctype="multipart/form-data"/>

    <input type="file" name=""/>

    </form>

     

    默认的 enctype是 application/x-www-form-urlencoded 是表单形式提交。

     

    这里来一个答疑。

    对于一个表单来说,上传有多余两种方式,有一种在报错的时候告诉我是一个mixed stream

    但是对于我们现在的知识来说,需要掌握两种,一种是默认的表单方式:表现形式是:enctype="application/x-www-form-urlencoded"。另一种是可以传递文件的复合数据形式:enctype="multipart/form-data"

    对于符合文件的解析来说,

    1、首先需要创建一个   硬盘文件项工厂

    DiskFileItemFactory dfif = new DiskFileItemFactory();

    2、上传文件控制层

    ServletFileUpload sfu = new ServletFileUpload(dfif);

     

    3、然后利用 上传文件控制层 解析 表单发来的请求

    sfu.parseRequest(request);

    解析的结果是一个 文件项列表

    List<FileItem> fileItems = sfu.paresRequest(request);

    然后遍历。

    对于文件项来说有两种分类:是表单域(可简单理解为非文件) 或者 是非表单域(简单理解为文件)

    是表单域的话:

    for(FileItem fileitem:fileItems){
        If(fileitem.isFormField){//是表单域
        String fileName = fileitem.getFieldName();
        String fileValue = fileItem.getString();
        Syso(fileName+fileValue);
        }else{//是非表单域
        String fileName = fileitem.getName();
        
        }
    }

    文件上传这里需要两个包。要记得commons-fileupload-1.2.2.jar commons-io-2.0.1.jar

     

    下载真不是那么简单,这个想想就完了,在android里面只要请求一个路径就能下载,但是其实在javaweb里面,不能那样,为什么呢?假设都是下载一张图片,在android里面,请求就能下载,但是在浏览器这段,假设请求的一个超级链接有一个url,点开后,只能是显示一张图片到当前浏览器,根本不能实现,文件的下载,所以。这个想法本身因为平台的原因,变得不合理。

  • 相关阅读:
    支持向量机SVM知识点概括
    决策树知识点概括
    HDU 3081 Marriage Match II
    HDU 3572 Task Schedule
    HDU 4888 Redraw Beautiful Drawings
    Poj 2728 Desert King
    HDU 3926 Hand in Hand
    HDU 1598 find the most comfortable road
    HDU 4393 Throw nails
    POJ 1486 Sorting Slides
  • 原文地址:https://www.cnblogs.com/letben/p/5185320.html
Copyright © 2020-2023  润新知