时间:2021-05-19
最近写了关于图片上传至本地文件夹或服务器,上传路径到数据库,并在上传时预览图片。使用到的工具如下:
框架:spring boot 2.0
前端模板:thymeleaf
图片预览:js
首先,上传以及预览,js以及<input type="file">,以及预览图片的JS
function Img(obj){ var imgFile = obj.files[0]; console.log(imgFile); var img = new Image(); var fr = new FileReader(); fr.onload = function(){ $('#img').attr('src',fr.result); } fr.readAsDataURL(imgFile);}<input type="file" name="url" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" style="opacity:1" onchange="Img(this)"/>效果如图所示:
后台获取图片将文件存入本地文件夹,这里要提一下,文件存放和将路径放进数据库比较简单,可以查找资料,这里不放代码了。主要讲解一下配置虚拟路径:
为什么要配置虚拟路径呢?如果不配置虚拟路径直接访问本地文件夹或服务器上的文件或图片信息,会报错Not allowed to load local resource,因为浏览器为了安全,不允许加载本地文件。
registry.addResourceHandler("/images/**").addResourceLocations("file:/C:/Users/ASUS/Desktop/file/");首先解释一下,"/images/**" 虚拟路径,
位于static静态文件下,file:/C:/Users/ASUS/Desktop/file/ ,C:/Users/ASUS/Desktop/file/ 指本地图片存储文件夹,如果是服务器,则改成对应文件夹即可,这里是代码配置静态文件,也可以直接在.properties文件里配置。
这里有一个问题file:/C:/Users/ASUS/Desktop/file/的写法存在差异,有的需要file:///C:/Users/ASUS/Desktop/file/,具体原因不清楚,记录下来,存入数据库的路径为/images/+"图片名"
最后看下最后的效果图:
总结
以上所述是小编给大家介绍的spring boot2.0图片上传至本地或服务器并配置虚拟路径的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
IOS图片上传时两种图片压缩方式的比较上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果
公司最近有个项目有这样的需求我才发现我之前写的如何通过JS获取用户本地图片路径这篇文章里所使用的方法只支持本地页面预览本地图片有一种解决方法是上传到服务器后返回
Express为:4.13.1multyparty:4.1.2代码主要实现本地图片上传到nodejs服务器的文件下,通过取图片路径进行图片预览写在前面:计划实现
1、保存至服务器根据路径保存至项目所在服务器上。StringimgUrl="";//图片地址try{//构造URLURLurl=newURL(imgUrl);/
图片预览的javascript本地操作早期浏览器,不能将本地图片作为页面元素处理,要实现图片预览需要将图片先上传到服务器,再从服务器取得进行预览现代的浏览器功能