最近搜索

小程序 文件上传,java接受代码 。

浏览:663
管理员 2020-09-20 11:29


这个是只接受一个图片。  小程序 上传图片 的接口 就是这个。一次一个。

	/**
	 * 文件 上传,
	 * /api/xcx/uploadimage
	 * @param file
	 *  //自定义上传图片的名字为userId.jpg
            //String fileName = request.getAttribute("userId") + "123456.jpg";
	 */
	@ResponseBody
	@RequestMapping("/api/xcx/uploadimage")
	public JSONObject uploadimage(HttpServletRequest request)throws Exception {
		JSONObject result = new  JSONObject();
        //获取文件需要上传到的路径
        String webPath=request.getServletContext().getRealPath("");
        String filePath= "/static/xcx_upload/image/"+DateUtil.formatDate(new Date(), "yyyyMMdd")+"/";
        FileUtil.makeDirs(webPath+filePath);
        request.setCharacterEncoding("utf-8"); //设置编码
        try {
            StandardMultipartHttpServletRequest req = (StandardMultipartHttpServletRequest) request;
            Iterator<String> iterator = req.getFileNames();
            while (iterator.hasNext()) {
                HashMap<String, Object> res = new HashMap<String, Object>();
                MultipartFile file = req.getFile(iterator.next());
                // 获取文件名
                String fileNames = file.getOriginalFilename();
                int split = fileNames.lastIndexOf(".");
                //获取上传文件的后缀
                String extName = fileNames.substring(split + 1, fileNames.length());
                //申明UUID
                String uuid = UUID.randomUUID().toString().replace("-", "");
                //组成新的图片名称
                String newName = uuid + "." + extName;
                System.out.println(newName);
                String destPath = webPath+filePath + newName;
                //真正写到磁盘上
                File file1 = new File(destPath);
                OutputStream out = new FileOutputStream(file1);
                out.write(file.getBytes());
                res.put("url", destPath);
                result.put("url", filePath+ newName);
                out.close();
            }
        } catch (Exception e) {
        }
		return result;
	}





如果 一次接受多个图片这样设计   android  app的 上传图片接口就是用的这个。 一次可以选择9个图片。

	/**
	 * 文件 上传,
	 * /api/uploadimage
	 * @param file
	 *  //自定义上传图片的名字为userId.jpg
            //String fileName = request.getAttribute("userId") + "123456.jpg";
	 */
	@ResponseBody
	@RequestMapping("/api/uploadimage")
	public JSONObject uploadimage(HttpServletRequest request)throws Exception {
		JSONObject result = new  JSONObject();
        //获取文件需要上传到的路径
        String webPath=request.getServletContext().getRealPath("");
        String filePath= "/static/xcx_upload/image/"+DateUtil.formatDate(new Date(), "yyyyMMdd")+"/";
        FileUtil.makeDirs(webPath+filePath);
        
        request.setCharacterEncoding("utf-8"); //设置编码
        try {
            StandardMultipartHttpServletRequest req = (StandardMultipartHttpServletRequest) request;
            Iterator<String> iterator = req.getFileNames();
            //String fileName = (String) req.getAttribute("bianhao") ;
            
            while (iterator.hasNext()) {
            	//拿到所有图片
                List<MultipartFile> filelist = req.getFiles(iterator.next());
                for(MultipartFile file :filelist ) {
                     // 获取文件名
                     String fileNames = file.getOriginalFilename();
                     int split = fileNames.lastIndexOf(".");
                     //获取上传文件的后缀
                     String extName = fileNames.substring(split + 1, fileNames.length());
                     //申明UUID
                     String uuid = UUID.randomUUID().toString().replace("-", "");
                     //组成新的图片名称
                     String newName = uuid + "." + extName;
                     System.out.println(newName);
                     String destPath = webPath+filePath + newName;
                     //真正写到磁盘上
                     File file1 = new File(destPath);
                     OutputStream out = new FileOutputStream(file1);
                     out.write(file.getBytes());
                     out.close();
                }
            }
        } catch (Exception e) {
        }
        
       
        
		return result;
	}	
	


联系站长

站长微信:xiaomao0055

站长QQ:14496453