项目的一些初始配置请查看
做一个文件上传的小案例,使用的还是之前的demo项目,我希望我每次想到一些突发奇想的一些功能都往这个deno上增加,这样万一那天demo就真成了一个小项目,所以把demo目录都更改成了itemi看上去至少不是那么low.
目前都还涉及到前端,只完成后端部分的编写!
1.配置上传文件的大小
非常的简单在application.yml
配置中添加
spring:
servlet: #设置上传的文件大小
multipart:
max-file-size: 5MB
我这配置最大文件上传5MB
2.项目结构:
创建Controller
需要注意的是@RequestParam设定了上传的名称为file
创建Service层:
值得一提的是ImageIO.read()方法获取文件流形式验证上传的文件是否是图片,这样可以防止一些人把txt或者其他后缀改成jpg格式,虽然这样我们验证文件类型那关放行,但是还有一关拦截下来。
你可能会想我虽然保存下来了那回调地址怎么是http:127.0.0.1/文件名称
这样可以通过浏览器访问吗???
很明显肯定没办法访问但是我们可以使用工具来实现,上场Nginx
3.使用Nginx代理本地文件
我们只要在nginx的配置中配置以下内容:
server {
listen 80; #监听的端口
server_name 127.0.0.1; #域名或者ip
location / {
root C:\\log\\image; #代理的本地路径
}
}
修改完成配置后在启动nginx.exe
然后我们复制一张图片到我们需要代理的路径下:C:\log\image
我们通过浏览器:http:127.0.0.1/文件名称
形式来访问
这样就ok了,那么程序返回的地址将来就可以访问了
4.使用工具来测试结果
使用到的工具ApiPost
发送后的回调地址信息
浏览器访问效果
本地文件目录
我现在在模拟一下使用txt文件更改jpg格式是否可以被保存
因为是txt文件改的所以打不开
接着在发送这个文件到软件
我们看程序
日志也打印出来了
也没有被保存下来
ok,大功告成!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83858.html