精华内容
下载资源
问答
  • 从request中获取文件流的两种方式

    万次阅读 2018-06-14 14:23:51
    方法一: HttpServletRequest中获取文件信息参考文档:https://blog.csdn.net/java_newstar/article/details/78053891Collection<Part> parts = req.getParts(); for (Iterator<Part> ...

    方法一: 从HttpServletRequest中获取文件信息

    参考文档:https://blog.csdn.net/java_newstar/article/details/78053891
    Collection<Part> parts = req.getParts();
    for (Iterator<Part> iterator = parts.iterator(); iterator.hasNext();) {
        Part part = iterator.next();  
        System.out.println("-----类型名称------->"+part.getName());
        System.out.println("-----类型------->"+part.getContentType());
        System.out.println("-----提交的类型名称------->"+part.getSubmittedFileName());
        System.out.println("----流-------->"+part.getInputStream());
    }

    方法二: 从MultipartHttpServletRequest中获取文件信息


    //将当前上下文初始化给  CommonsMutipartResolver (多部分解析器)
    CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(
                        request.getSession().getServletContext());
    // 判断是否是多数据段提交格式
     if (multipartResolver.isMultipart(request)) {
             MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
             Iterator<String> iter = multiRequest.getFileNames();
             logger.info("iter.hasNext(): "+iter.hasNext());
             Integer fileCount = 0;
             while (iter.hasNext()) {
                    MultipartFile multipartFile = multiRequest.getFile(iter.next());
                    String fileName = multipartFile.getOriginalFilename();
                    logger.info("upload filename: " + fileName );
                    if(fileName == null || fileName.trim().equals("")){
                          continue;
                    }
                    //20170207 针对IE环境下filename是整个文件路径的情况而做以下处理
                    Integer index = fileName.lastIndexOf("\\");
                    String newStr = "";
                     if(index>-1){
                           newStr = fileName.substring(index+1);
                      }else{
                           newStr = fileName;
                      }
                     if(!newStr.equals("")){
                            fileName = newStr;
                      }
                      logger.info("new filename: " + fileName );
    
                      if (multipartFile != null) {
                            HashMap<String,Object> result =  DispatchInterfaceUtil.uploadInputStream(multipartFile.getInputStream(),multipartFile.getSize(),fileName);
                      }
            }
    }






    展开全文
  • 4.从Request中获取文件数据

    千次阅读 2017-11-06 12:40:41
    * 工具类 -HttpServletRequest中获取文件数据 * */ public class RequestUtil { /** * HttpServletRequest中获取所有的文件 * * @param request * @return FileItem对象列表 * @...
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    
    /**
     * 工具类 -从HttpServletRequest中获取文件数据
     * 
     */
    public class RequestUtil {
    
        /**
         * 从HttpServletRequest中获取所有的文件
         * 
         * @param request
         * @return FileItem对象列表
         * @throws FileUploadException
         */
        public static List<FileItem> getFileItemList(HttpServletRequest request) throws FileUploadException {
            List<FileItem> fileItemFromRequestList = getDataFromRequest(request);
            if (fileItemFromRequestList != null && !fileItemFromRequestList.isEmpty()) {
                List<FileItem> fileItemList = new ArrayList<>();
                for (FileItem fileItem : fileItemFromRequestList) {
                    if (!fileItem.isFormField()) { // 文件
                        fileItemList.add(fileItem);
                    }
                }
                return fileItemList;
            }
            return null;
        }
    
        /**
         * 从request中获取FileItem对象列表
         * 
         * @param request
         * @return fileItemFromRequestList
         * @throws FileUploadException
         */
        private static List<FileItem> getDataFromRequest(HttpServletRequest request) throws FileUploadException {
            String tempPath = request.getServletContext().getRealPath("/temp");
            File file = new File(tempPath);
            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setSizeThreshold(1024 * 1024 * 1024);// 设置缓存大小
            factory.setRepository(file);// 默认情况下 临时文件不会自动删除
            ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
            List<FileItem> fileItemFromRequestList = servletFileUpload.parseRequest(request);
            file.delete(); // 删除临时文件
            return fileItemFromRequestList;
        }
    }
    
    展开全文
  • * 获取当前请求文件列表 * * @param request * @return */ protected List getMultipartFileList( HttpServletRequest request) { List files = new ArrayList(); try { ...
    /**
    	 * 获取当前请求中的文件列表
    	 * 
    	 * @param request
    	 * @return
    	 */
    	protected List<MultipartFile> getMultipartFileList(
    			HttpServletRequest request) {
    		List<MultipartFile> files = new ArrayList<MultipartFile>();
    		try {
    			CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
    					request.getSession().getServletContext());
    			if (request instanceof MultipartHttpServletRequest) {
    				// 将request变成多部分request
    				MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
    				Iterator<String> iter = multiRequest.getFileNames();
    				// 检查form中是否有enctype="multipart/form-data"
    				if (multipartResolver.isMultipart(request) && iter.hasNext()) {
    					// 获取multiRequest 中所有的文件名
    					while (iter.hasNext()) {
    						// 一次遍历所有文件
    						// MultipartFile file =
    						// multiRequest.getFile(iter.next().toString());
    						// if (file != null) {
    						// files.add(file);
    						// }
    						// 适配名字重复的文件
    						List<MultipartFile> fileRows = multiRequest
    								.getFiles(iter.next().toString());
    						if (fileRows != null && fileRows.size() != 0) {
    							for (MultipartFile file : fileRows) {
    								if (file != null && !file.isEmpty()) {
    									files.add(file);
    								}
    							}
    						}
    					}
    				}
    			}
    		} catch (Exception ex) {
    			log.error("解析MultipartRequest错误", ex);
    		}
    		return files;
    	}

    展开全文
  • 文件操作】Http的request上传文件获取文件名称

    千次阅读 热门讨论 2017-11-12 20:46:55
    从request中获取文件流,并得到文件的名称
        public static String getFileName(InputStream is) throws IOException {
            StringBuffer sb = new StringBuffer();
            int count = 0;
            while (true) {
                int a = is.read();
                sb.append((char) a);
                if (a == '\r') {
                    count++;
                }
                if (count == 4) {
                    is.read();
                    break;
                }
            }
            String title = sb.toString();
            System.out.println(title);
            String[] titles = title.split("\r\n");
            String fileName = titles[1].split(";")[2].split("=")[1].replace("\"", "");
            return fileName;
        }

    展开全文
  • MultiPartRequestWrapper wrapper=(MultiPartRequestWrapper)request; File[] file=wrapper.getFiles("fileName"); byte[] bytes=new byte[(int)file[0].length()]; InputStream inputStrea...
  • 从request中获取项目的一些路径

    千次阅读 2016-11-24 16:07:33
    request.getRequestURI() /jqueryWeb/resources/request.jsp  获取到包含工程名的当前页面全路径 request.getRequestURL() http://localhost:8080/jqueryWeb/resources/request.jsp 获取网络访问方式全路径 ...
  • 引入相关的类 ... 相关代码以及简单指引 $file = Request::file('imgs'); //获取文件名称 //print_r($file);die; if($file -> isValid()) { $clientName = $file -> getClientOriginalName(); //客户端文件...
  • java从request中获取GET和POST请求参数

    千次阅读 2020-11-17 14:52:44
    一 、获取请求方式 request.getMethod(); get和post都可用, 二 、获取请求类型 request.getContentType(); get和post都可用,示例值:application/json ,multipart/form-data, application/xml等 三 、获取所有...
  • flask中request对象以及文件上传详解

    千次阅读 2019-03-21 11:37:38
    request获取请求参数: from flask import request 与Django不同的是,flask是不需要将request对象作为第一个参数传入视图函数,他的request对象是来自于flask,是一个全局对象,我们只需导入即可使用,request对象...
  • 前一个地方使用的是WebUploader开源框架来上传的,后一个地方是使用的Pdf.js开源框架保存正文的实现文件上传,项目的Controller层使用的是springmvc,并且在springmvc.xml配置了文件上传解析器: <bean id=...
  • JavaWeb通过从request请求中获取浏览器、系统信息、终端ip等信息。获得客户端的IP地址 。获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型 。
  • 转化request中的流为文件

    千次阅读 2018-08-13 17:57:37
    /** * 转化request中的流为文件流 * @param request * @return * @throws Exception */ private MultipartFile upload(HttpServletRequest request) throws Exception{ Multipa...
  • 1.如何在quartz里使用request获取指定的文件路径 解决方案:  a.使用servlet监听器,在容器启动的时候,获取ServletContext并将其放到SchedulerContext里,代码如下:  public class QuartzListener implements...
  • 判断request中是否有文件

    千次阅读 2017-12-09 15:15:00
    ServletFileUpload.isMultipartContent(request)   转载于:https://www.cnblogs.com/java-le/p/8011562.html
  • 场景描述:使用springboot上传文件到服务器,但是需要将文件路径返回给前台。项目使用的是用虚拟路径配置返回形式如下: ... 测试环境:springboot 2.0.3+jdk1.8+tomcat 8.0 正式环境:spr...
  • string s01 = Request.ApplicationPath; //testweb string s02 = Request.CurrentExecutionFilePath; //testweb/default.aspx string s03 = ...
  • 使用ftp上传文件,并且Request.files获取文件,今天发现获取到的文件个数始终是0个,查了下原来form标签需加入enctype=”multipart/form-data”,呵呵 <form enctype="multipart/form-data" ID="form1" runat=....
  • RequestInputStream获取中文乱码

    千次阅读 2016-02-21 22:55:20
    当我们获取RequestInputStream时,里面如果有中文会显示乱码,在使用request.setCharacterEncoding("UTF-8");后也无济于事 我在查阅网上相关解决方案后,自己编写了一个类RequestInputStreamEncoding 里面有一个方法...
  • DRF 中Request对象中获得数据

    千次阅读 2018-07-13 16:13:19
    DRF response对象中获得数据 1.Request 1).data request.data 返回解析之后的请求体数据。类似于Django标准的request.POST和 request.FILES属性,但提供如下特性: 包含了解析之后的文件和非文件数据 ...
  • org.apache.commons.fileupload.servlet.ServletFileUpload 组件封装的文件(否则自己处理request.inputStream很麻烦) ServletFileUpload upload = new ServletFileUpload(); try { List ite
  • Request.Files获取不到文件

    千次阅读 2015-11-11 17:13:24
    做手机web页面引用了 jquery mobile,做文件上传Request.Files获取不到文件。 需要在form表单增加data-ajax="false
  • request.getParts()获取上传文件

    千次阅读 2020-07-17 11:26:20
    request.getParts()获取上传文件 request.getParts(“属性名”)用于获取使用multipart/form-data格式传递的http请求的请求体,通常用于获取上传文件
  • 可参考这篇文章获取 GET、POST Content-Type: ...spring boot拦截器中获取request post请求的参数 当 Content-Type 是 application/x-www-form-urlencoded, request.getParameter() 和 request.getInputs...
  • 注意:这个 适用于 POST 请求 请求参数格式本身就是json格式 这里的JSONObject 是用的阿里的jar文件import com.alibaba.fastjson.JSONObject;这里看到评论里还是有问题我做了个小demo上传到码云了...
  • 一般 JSP文件中,可以直接使用 ${pageContext.request.contextPath}非常方便的获得当前页面的路径,用来处理被 Apache2代理之后出现 URL变化的问题,比如增加了某些前缀,方便转发,即使是 JSP内嵌的 JavaScript脚本...
  • Springboot框架中用下面的代码,使用request.getInputStream()获取不到上传的文件流 @PostMapping("/upload_img") public void uploadImage(HttpServletRequest request) { int len = request.getInputStream...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 688,808
精华内容 275,523
关键字:

从request中获取文件