当前位置: 首页 > news >正文

个人网站广告联盟搭建西安网站建设eliwe

个人网站广告联盟搭建,西安网站建设eliwe,wordpress图库插件,中国精品课程网站目录 一 功能需求 二 上传本地 2.1 实现文件上传的controller层 2.2 图片访问资源映射 二 上传OSS 一 功能需求 实现图片的上传和回显功能其实在业务中是非常常见的,比如需要上传头像,或者交易平台需要上传物品的图片等等,都需要上传和回…

目录

一 功能需求

二 上传本地

        2.1 实现文件上传的controller层

2.2 图片访问资源映射

二 上传OSS 


一 功能需求

        实现图片的上传和回显功能其实在业务中是非常常见的,比如需要上传头像,或者交易平台需要上传物品的图片等等,都需要上传和回显,所以我接下来给大家介绍两种实现照片上传和回显的方式,一种是上传本地,一种是上传OSS。

二 上传本地

        因为本项目是基于springboot的前后端分离项目,所以相关依赖已经导入,所以这里导入相关依赖的步骤就不再做多介绍了。

        2.1 实现文件上传的controller层

        ① 接收文件的参数 

         MultipartFile file:前端会把图片暂时存储在这个参数里面,而且需要注意,参数名file不能随便写,要和前端的name对应。

        ② 为文件重新生成文件名

因为有可能用户上传的图片名字会重复,这样会覆盖掉原来的图片,所以需要用uuid生成一个唯一名的图片名。

//        获取文件名String filename = file.getOriginalFilename();
//        获取文件后缀String substring = filename.substring(filename.lastIndexOf("."));
//        uuid重新生成不重复的新的文件名filename= UUID.randomUUID()+substring;

③ 设置文件上传的本地路径

这里上传的本地路径是项目的静态资源下的目录。

ApplicationHome applicationHome = new ApplicationHome(this.getClass());String pre = applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath() +"\\src\\main\\resources\\static\\images\\";

③ 上传图片

 String savePath = pre+filename ;file.transferTo(new File(savePath));

 这里直接调用transferTo方法即可。

④ 返回图片访问的路径

 return Result.success("/image/"+filename);

 这个路径是我们的访问路径,返回给前端,由前端访问这个路径进行回显图片.

controller整体代码如下:

@RestController
@RequestMapping("/admin/common")
@Slf4j
public class FileUpload {@PostMapping("/upload")public Result<String> fileUpload(@RequestParam("file") MultipartFile file){log.info("进入文件上传,文件为:{}",file);
//        获取文件名String filename = file.getOriginalFilename();
//        获取文件后缀String substring = filename.substring(filename.lastIndexOf("."));
//        uuid重新生成不重复的新的文件名filename= UUID.randomUUID()+substring;
//        获取服务器路径//        保存文件到本地try {ApplicationHome applicationHome = new ApplicationHome(this.getClass());String pre = applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath() +"\\src\\main\\resources\\static\\images\\";String savePath = pre+filename ;file.transferTo(new File(savePath));return Result.success("/image/"+filename);} catch (IOException e) {throw new RuntimeException(e);}}
}

2.2 图片访问资源映射

上面返回给前端的访问路径可以看出,其实我们返回的路径并不是图片存放在我们本地的路径,如果直接访问是访问不了的,所以需要我们加上一个资源映射,就是访问的这个路径映射到图片的存放路径。

@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {/*** 设置静态资源映射* @param registry*/
//        访问图片的资源映射registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\feisi\\cangQiong\\sky-take-out\\sky-server\\src\\main\\resources\\static\\images\\");}}

前面是你的访问路径,后面是你图片文件的存放路径。

可能有人会问,为什么不直接给前端返回图片存放路径,让前端直接访问图片,而是要搞一个映射呢?因为服务器有保护机制,不能直接访问计算机的本地路径的资源。

第一种上传本地的方式已经介绍完了,接下来再介绍第二种方式... 

二 上传OSS 

http://www.yayakq.cn/news/27622/

相关文章:

  • 网站改版对排名的影响手机电影网站怎么做
  • 做网站横幅的图片多大长沙南站建站
  • 建设网站需求分析百度账号登录入口网页版
  • 做网站空间备案的职业怎么更改网站域名
  • 网站建设5个why建湖人才网手机版
  • chn域名网站新手做网站怎么上传系统
  • 大兴企业网站建设公司php不用框架怎么做网站
  • html淘宝店铺网站模板怎么建自己的手机网站吗
  • 白狐网站建设利用网上菜谱做网站
  • 系部网站建设研究方案宁波网站建设公司费用价格
  • 嘉兴网站专业制作网页设计与制作实训报告结果
  • 长沙有什么做试卷的网站织梦系统做的网站打开慢
  • 做h5页面的网站哪个好修改wordpress评论框
  • 做ppt好的网站有哪些百度给做网站收费多少
  • html5 网站正在建设中改成 响应式 网站
  • 什么网站做一手房比较好优化建站seo门户
  • 汽车网站建设代理加盟wordpress底部制作
  • 网站下载免费软件泰安市房产交易中心官网
  • 网站开发人员工工资品牌网站制作报价表
  • 建设网站空间多少钱销售网络平台
  • 网站建设和后台空间管理关系wordpress 移动版插件
  • 网站加外链做网站网页需要什么技术
  • 电脑系统做的好的网站好特种工建设网站
  • 沈阳企业网站设计制作建设银行官方网站电子银行登录
  • 网上手机商城网站建设网站皮肤样板
  • 网站反链接有没有给宝宝做辅食的网站
  • 金昌大型网站建设费用中国空间站进展
  • diy网站建设源码厦门物流网站建设
  • 如何设计个人网站做商业网站要交税吗
  • 网站排名软件 利搜北京搬家公司排名