springboot上传图片到宝塔Linux(本地上传和跨域上传)
1.浏览器访问宝塔面板的图片需要的配置--
- 点击文件www-->server-->tomcat-->conf-->server.xml
可以自己修改,请在宝塔面板和服务器上放行相应接口。
在server.xml Host标签里添加Context标签
docBase 绝对路径,真实访问的路径。根据自己的需要更改
path 虚拟路径,根据自己的需要更改。例如:path="/h" --> "http://{ip地址 : 端口号}/h" 相当于访问了宝塔面板下的根目录/home/images的文件或文件夹
<Context docBase="/home/images" path="/home/images" debug="0" reloadable="true" />
2.点击文件www-->server-->tomcat-->conf-->web.xml
添加以下代码
<servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><init-param><param-name>readonly</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
查看文件夹
上面操作完成已经可以用tomcat查和写了
2.本地上传
@Slf4j
@RestController
@RequestMapping("/file")
public class UploadController {@Autowiredprivate ResponseBeans responseBeans; // 返回类型// 本地上传,针对部署到宝塔面板上@PostMapping("/upload")public ResponseBean uploadLocal(@RequestParam("fileResource") MultipartFile fileResource){String path = "/home/images/"; // 本地路径,绝对路径。
// log.info(path);File file = new File(path);// 判断文件是否存在,不存在先创建if(!file.exists()){file.mkdirs();}// 获取文件名String originalFilename = fileResource.getOriginalFilename();// 取出文件后缀String sufName = originalFilename.substring(originalFilename.lastIndexOf('.'));// 使用UUID防止重名,组合后缀获取新的完整文件名String fileName = UUID.randomUUID().toString()+sufName;
// log.info(fileName); // Slj4 打印文件名try {// 上传fileResource.transferTo(new File(path,fileName));System.out.println();System.out.println("上传成功");System.out.println("图片路径==》"+"http://{ip地址}:{端口号}"+path+fileName);// 返回给前端,自己定义return responseBeans.success(fileResource.getOriginalFilename());}catch (Exception e){System.out.println("上传失败");return responseBeans.success(fileResource.getOriginalFilename(),"上传失败",201);}}
}
3.跨域上传
在pom.xml文件添加两个依赖
<!--跨域上传文件--><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-core</artifactId><version>1.18.1</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-client</artifactId><version>1.18.1</version></dependency>
@Slf4j
@RestController
@RequestMapping("/file")
public class UploadController {@Autowiredprivate ResponseBeans responseBeans; // 返回类型// 跨域上传@PostMapping("/uploadCore")public ResponseBean uploadCore(@RequestParam("fileResource") MultipartFile fileResource){// URL 路径 (写本人的ip+端口号)String path = "http://{ip地址}:{端口号,默认8080}/home/images/";// 获取文件名String originalFilename = fileResource.getOriginalFilename();// 取出文件后缀String sufName = originalFilename.substring(originalFilename.lastIndexOf('.'));// 使用UUID防止重名,组合后缀获取新的完整文件名String fileName = UUID.randomUUID().toString()+sufName;try{//使用Jersey客户端上传文件Client client = Client.create();WebResource webResource = client.resource(path+fileName);webResource.put(fileResource.getBytes());System.out.println("上传成功");System.out.println("图片路径==》"+path+fileName);return responseBeans.success(fileResource.getOriginalFilename());}catch(Exception e){e.printStackTrace();System.out.println("上传失败");return responseBeans.success(fileResource.getOriginalFilename(),"上传失败",201);}}
}
4.使用postman测试接口(本地测试)
测试接口成功
5.使用postman测试接口(跨域测试)
1.启动本地idea项目 -->
2.测试
成功
springboot上传图片到宝塔Linux(本地上传和跨域上传)相关推荐
- wangeditor 请求头_跨域上传 · wangEditor2使用手册 · 看云
**首先,wangEditor的跨域上传已经不再支持 IE8.9 浏览器.** ---- IE10 及以上浏览器在使用跨域上传时,需要服务器端的配合,对`response`设置以下`head`信息: ...
- java 使用oos 进行数据上传和跨域
java 使用oos 进行数据上传和跨域 导入依赖 <dependency><groupId>com.aliyun.oss</groupId><artifac ...
- 全网最直接简单。百度富文本跨域上传文件到文件服务器
看了很多文章其实也有很多办法,实现跨域上传.现在讲我目前所用的方法.只实现的多图上传.单图上传失败. 接下来必须认真的看完文章. 当前我用的 版本为UEditor1.4.3. 这里主要是实现重写接收文 ...
- java 跨域上传_java使用webuploader实现跨域上传详解
前言 项目中使用webuploader进行文件上传,需要用到跨域,查看webuploader的issues发现是支持上传的,但是他们写的回复都是不清不白的,有点迷糊:想了半天才知道咋回事,也可能是我比 ...
- 允许多域名跨域 php,php后端控制可跨域的域名,允许图片跨域上传
跨域问题经常需要面对,前端需要做的比较直接 要么选择ajax异步提交,XML或者jsonp,要么表单提交 jsonp基本可以搞定大部分跨域问题,但问题也比较明显,只能通过get方式提交 并且jsonp ...
- php js跨域上传文件,Jquery实现跨域异步上传文件步骤详解
这次给大家带来Jquery实现跨域异步上传文件步骤详解,Jquery实现跨域异步上传文件的注意事项有哪些,下面就是实战案例,一起来看一下. 先说明白 这个跨域异步上传功能我们借助了Jquery.for ...
- 解决使用elementUI框架el-upload跨域上传时session丢失问题
解决使用elementUI框架el-upload跨域上传时session丢失问题 参考文章: (1)解决使用elementUI框架el-upload跨域上传时session丢失问题 (2)https: ...
- Mac上Chrome浏览器跨域解决方案
Mac上Chrome浏览器跨域解决方案 参考文章: (1)Mac上Chrome浏览器跨域解决方案 (2)https://www.cnblogs.com/dxzg/p/9707639.html 备忘一下 ...
- java 跨域上传,Java如何利用Ajax完成跨域上传图片的功能介绍
这篇文章主要介绍了Java使用Ajax实现跨域上传图片功能,需要的朋友可以参考下 说明 : 图片服务器是用Nginx搭建的,用的是PHP语言 这个功能 需要 用到两个js文件: jquery.js和j ...
最新文章
- 面试时与人事交谈时间_如何与您的技术负责人交谈并解决通讯故障
- pcb 理论阻值、 过孔_射频电路PCB设计的困境和改善措施
- swift为UIView添加extension扩展frame
- C++类的使用(一)
- ctf.360.cn第二届,逆向部分writeup——第三题
- python之爬虫(四)之 Requests库的基本使用
- java f.lenth返回值,这个是什么意思,求仔细说明
- Java笔记-JNI各种签名以及例子
- 营销管理手册_麦肯锡内部培训手册,揭秘高效能团队打造的秘密,附6个案例...
- 用C++开发与调用WebService的例子
- 华为y220t android版本升级,华为 Y220T(移动版)救砖教程 救砖包 刷回官方系统支持OTA升级...
- iyiw oracle_Oracle 单行函数
- 深度系统官网linux安装打印机,在Deepin 20下安装brother打印机驱动及设置网络打印机...
- AEC、AGC、ANS 作用
- Linux基本常用命令(大数据开发里也用的到)
- 曾拯救Apple Watch的苹果工程师如今后继无人,美国制造业回流的人才之痛
- C++与UMG的交互
- IDEA 查看项目编码
- 分享受用一生的高效 PyCharm 使用技巧。
- 一份非常完整的 MySQL 规范非原创(ps:我怕论坛会删掉 自己拿来用了)