@RequestMapping("/logo")public void logo(@RequestParam("file")MultipartFile file, HttpServletResponse resp) { // 上传图片、视频、word、ppt 这些都是文件String filePath = "D:/create/club/logo"; // 如果你电脑没有D盘//         create是根文件夹       项目名   logo图片FileUtil.createFile(filePath); // 创建文件夹结构String fileName = file.getOriginalFilename();//得到文件的原名// transferTo 转存try {file.transferTo(new File(filePath + "/" + fileName));} catch (Exception e) {System_out_println("有可能是文件夹路径写错了,检查一下文件夹路径下有没有转存好这张图");} // D:/create/club/logo/图片名.jpgoutRespJson("/club/logo/"+fileName, resp); // response将数据输出给网页中}// 总结:数据输出给网页有2种方式// 1.转发。通过request将数据带入到网页中//  req.setAttribute("retList", 数据);//   return "/activity/list"; FreeMarker模版引擎,能将 数据 和 html结构 一起输出到网页中// 2.outRespJson() 封装方法,在BaseController父类中//  response将数据输出给网页//  outRespJson(数据, resp); 只能将纯数据输出给网页,不带样式、不带标签

由于没有存到项目目录下需要自己配置访问路径 才能访问到

public class App implements WebMvcConfigurer {@Override // 配置上传文件所对应的文件虚拟目录public void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/club/**").addResourceLocations("file:D:/create/club/");}}

还有网上看到的一种

 @PostMapping("/upload")//登录后通过userId上传头像public ResultBean<String> uploadFace(@RequestParam("userId")Integer userId,@RequestParam("file") MultipartFile[] files) throws Exception {System.out.println("userid:"+userId);// 文件保存的命名空间String fileSpace = "D:/image";// 保存到数据库中的相对路径String uploadPathDB = "/";FileOutputStream fileOutputStream = null;InputStream inputStream = null;try {if (files != null && files.length > 0) { //有头像上传/*** 上传头像默认是一个文件(下面直接取第[0]个),如果是多个就使用for循环以下的整个步骤*/String fileName = files[0].getOriginalFilename(); //获取文件的原名称if (StringUtils.isNotBlank(fileName)) {// 文件上传的最终保存路径//例:C:/imooc_videos_dev/10010/face/*.pngString finalFacePath = fileSpace + "/" + fileName;// 设置数据库保存的路径//例:/10010/face/*.pnguploadPathDB = fileName;//打开文件File outFile = new File(finalFacePath);//getParentFile()获取抽象路径的父目录的抽象路径名if (outFile.getParentFile() != null || !outFile.getParentFile().isDirectory()) {// 创建父文件夹outFile.getParentFile().mkdirs(); //outFile.mkdirs() 就是*.png也变成了目录}fileOutputStream = new FileOutputStream(outFile);inputStream = files[0].getInputStream(); //获取文件流IOUtils.copy(inputStream, fileOutputStream);}} else {return new ResultBean<>(ResultBean.SQL_CHANGE_WRONG, "上传失败!");}} catch (Exception e) {e.printStackTrace();return new ResultBean<>(ResultBean.SQL_CHANGE_WRONG, "上传失败!");} finally {if (fileOutputStream != null) {fileOutputStream.flush();fileOutputStream.close();}}//下面四行代码的作用更新userId和图片的相对路径User user = new User();user.setId(userId);user.setImageUrl(uploadPathDB);userService.updateById(user);//返回相对路径,前端通过相对路径+静态资源映射即可获得图片,最后显示出来return new ResultBean<>(uploadPathDB, ResultBean.SUCCESS, "查询成功!");}

上传文件到服务器(在微信小程序修改头像用到)相关推荐

  1. 上传文件到服务器并显示,J2EE如何实现Servlet上传文件到服务器并相应显示功能...

    J2EE如何实现Servlet上传文件到服务器并相应显示功能 发布时间:2021-07-10 11:44:54 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关J2EE如何实现Ser ...

  2. android项目中使用的服务器上,android 开发中使用okhttp上传文件到服务器

    开发android手机客户端,常常会需要上传文件到服务器,比如:你手机里的照片. 使用okhttp会是一个很好的选择.它使用很简单,而且运行效率也很高. 首先,在 app/build.gradle 的 ...

  3. C 上传文件到服务器(含接收端源码)

    2019独角兽企业重金招聘Python工程师标准>>> 本文demo下载地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail ...

  4. android 上传文件到服务器

    1.编写layout.xml <LinearLayout android:layout_width="match_parent"android:layout_height=& ...

  5. c winform 上传文件到mysql_WinForm上传文件至服务器

    /// /// WebClient上传文件至服务器 /// /// 文件名,全路径格式 /// 服务器文件夹路径 /// public bool Upload(string localFilePath ...

  6. linux上传文件到服务器

    1.连接服务器 : ssh 用户名@ip地址 例如: unbutu@unbutu-System-Product-Name:~$ ssh root@123.57.235.11 root@123.57.2 ...

  7. jsch 移动服务器上文件,jsch上传文件到服务器

    需求就是上传文件到服务器,服务器的存储地址由程序决定然后可以自动创建. 使用第三方:jsch JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文 ...

  8. android -上传文件到服务器

    android上传文件到服务器       重点:最好是设置好content-type这些参数的配置!     package com.spring.sky.image.upload.network; ...

  9. Android上传文件至服务器(转)

    本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为and ...

  10. scp 上传文件到服务器

    scp 上传文件到服务器 scp命令 scp 本地路径 服务器路径 如 scp /Users/***/Desktop/text.zip root@****:/opt/ 本来是想通过"scp ...

最新文章

  1. 只需3行代码自动生成高性能模型,支持4项任务,亚马逊发布开源库AutoGluon
  2. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二)
  3. linux tomcat 绑定域名
  4. java 利用JAX-RS快速开发RESTful 服务
  5. 拆分:分解单块系统——《微服务设计》读书笔记
  6. 你为什么要关心equals和hashcode
  7. 腾讯视频如何编辑自我介绍
  8. 数据库SQL优化总结
  9. BZOJ:4820: [Sdoi2017]硬币游戏BZOJ:1444: [Jsoi2009]有趣的游戏(高斯消元求概率)
  10. linux 关闭redis 命令_面试必问的 Redis:RDB、AOF、混合持久化
  11. XSS、CSRF与验证码等等
  12. 判断回文(Java和JavaScript)
  13. gdb调试mpi程序
  14. 【python】快速对图像进行傅里叶变换
  15. 帝国cms index.php?id=调不到指定文章,帝国cms修改实现TAG标签以TAGID的方式伪静态...
  16. BCH编码与译码(MATLAB实现)
  17. 北京五大不可不去的隐秘餐厅
  18. html自动弹图片,JS自动适应的图片弹窗实例
  19. linux sox用法 播放,SoX——linux终端播放音频文件
  20. 腾讯云HTTPDNS 将上线微信服务平台!

热门文章

  1. 对话诊断(X)2021Neurocomputing-Heterogeneous graph reasoning for knowledge-grounded medical DS
  2. 太牛了!某大佬程序猿北漂16年,从睡天桥到身价数千万,衣锦还乡重庆住豪宅!...
  3. ecu的c语言编程,ecu中的程序是如何编写的
  4. 在某软国际的那些日子
  5. 花了一年时间开发的三维弯管机交互式转档软件(三维管子模型UG,SOLIDWORK,PRO/E文件转成YBC)...
  6. 缓存(Cookie,SessionStorage,localStorage)详解
  7. centos7安装mplayer+smplayer
  8. Memery of habit
  9. 目标跟踪VOT2016的配置
  10. Excel:INDEX函数与MATCH函数