文件上传
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了文件上传,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2934字,纯文字阅读大概需要5分钟。
内容图文
![文件上传](/upload/InfoBanner/zyjiaocheng/1011/ab9344726346488fac0d1fc71242a856.jpg)
- 1 、uniapp前端请求头不要添加,app自动添加,添加了获取不到
- 前端加上请求头后端获取文件为空
- 2、后端java代码实例
-
@PostMapping("uploadFile") public JsonData upload(HttpServletRequest request, @RequestParam("file") MultipartFile files) throws IOException { //String path = "/api/upload/" + new SimpleDateFormat("yyyy/MM/dd/").format(new Date()); System.out.println(path); //文件大小 BigDecimal b = new BigDecimal((double) files.getSize() / 1048576); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1 + "Mb"); System.out.println("截取"+path.substring(path.indexOf("/"),path.length())); // 得到文件名 UploadUtil uploadUtil = new UploadUtil(); List<String> url = uploadUtil.uploadFile(request, path); return JsonData.buildSuccess(url,"上传成功"); }
- 3、工具类
-
public class UploadUtil { private final static Logger LOG = LoggerFactory.getLogger(UploadUtil.class); public final static String CDN_URL = "/data/cdnfiles/"; // 图片CDN加速地址 public final static String IMG_URL = "http://i.shihuowang.com";/** * @author: chenzhihao * @description: files[1]="视频1“,files[2]="视频2",path 保存地址 * @date: 2021/4/6 * @param path 保存地址 * @return */ public List<String> uploadFile(HttpServletRequest request, String path){ log.info("request: "+request.getSession().getServletContext().getRealPath("file")); CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); commonsMultipartResolver.setDefaultEncoding("utf-8"); // File imgFile=null; String url=null; List<String> pathRul=new ArrayList<>(); File newFile=new File(path); if(!newFile.exists()){ newFile.mkdirs(); } if (commonsMultipartResolver.isMultipart(request)){ MultipartHttpServletRequest mulReq = (MultipartHttpServletRequest) request; Map<String, MultipartFile> map = mulReq.getFileMap(); // key为前端的name属性,value为上传的对象(MultipartFile) for (Map.Entry<String, MultipartFile> entry : map.entrySet()) { // 自己的保存文件逻辑 log.info("名称:" +entry.getValue().getOriginalFilename()); // imgFile = new File(path + "/" + entry.getValue().getOriginalFilename()); url=path+entry.getValue().getOriginalFilename(); log.info("图片存储的路径:" + url); try { File file1=new File(System.getProperty("user.dir")); String uploadFile = uploadFile(entry.getValue(), file1.getAbsolutePath() + path); pathRul.add(path+uploadFile); }catch (Exception e){ pathRul.add(e.getMessage()); return pathRul; } } return pathRul; }else { return pathRul; } } public String uploadFile(@RequestParam("file") MultipartFile multipartFile, String path) { String filename=multipartFile.getOriginalFilename(); String[] strings = filename.split("\\."); String name = System.currentTimeMillis()+"."+strings[strings.length-1]; try { File file=new File(path,name); if(!file.exists()){ file.mkdirs(); } multipartFile.transferTo(file); return name; }catch (Exception e){ return e.getMessage(); } } }
- 4、测试用postman
- 在body的form-data格式进行
内容总结
以上是互联网集市为您收集整理的文件上传全部内容,希望文章能够帮你解决文件上传所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。