浏览器无法加载本地文件,在后台读取字节流后返回给前端显示
来源:互联网 发布:mysql的好处 编辑:程序博客网 时间:2024/04/30 14:15
由于安全性考虑,许多浏览器不允许访问本地文件。
用谷歌浏览器打开html时,img的src赋值如F:/XXX/XXX/**.jpg,console显示no allowed to load local resourses
1. 将src改为file:///F:/XXX形式,依然无法加载图片
2. 试过下载LocalLinks插件,无效
3. 加--allowed-access-file-from-files命令失败
4. 在后台读取图片的字节流,再转成JSON形式字符串,返回给前端显示
一开始使用FileInputStream,将字节流读入byte数组
FileInputStream in=new FIleInputStream(imageurl);
byte[ ]data=new byte[in.avaliable]; //这一句可得到正确文件大小的byte数组
in.read(data); //调试发现,data数组每次的值都不一样,大小与正确文件大小不符,原因未知
in.close();
后使用IOUtils.toByteArray方法,可正常运行,后台代码如下
public String showPicture(String imageurl,HttpServletResponse response){
FileInputStream in;
try{
File file=new File(imageurl);
in=new FileInputStream(file);
int i=(int) file.length();//得到文件大小
StringBuilder sb=new StringBuilder();
sb.append("data:image/jpg;base64,"); //前端可以判断是图片数据
String b= new String(Base64.encodeBase64(IOUtils.toByteArray(in)));
sb.append(b);
System.out.println(b.length());
return sb.toString();
}catch (IOException e) {
e.printStackTrace();
}
return null;
}
前端代码: 令img标签的src属性=上述代码返回的string
- 浏览器无法加载本地文件,在后台读取字节流后返回给前端显示
- nodejs读取图片返回给浏览器显示
- PHP给Mysql数据库中上传图片,并从Mysql数据库读取图片显示在后台窗口
- nohup失效,关闭putty后无法在后台运行
- nodejs 读取图片返回给浏览器
- jQuery无法读取本地文件
- 在后台,给前台DIV设置样式
- discuz在后台 应用 应用中心 安装一个dz 2.5模板 显示超时无法安装模板
- Google浏览器如何加载本地文件
- Fragment在后台被系统回收后
- Magento 在后台订单显示产品地址
- Java 读取类路径下的文件 返回给浏览器
- webView加载完后无法显示内容
- 关于cocos2d js中chrome浏览器无法加载本地文件的问题
- (小技巧)解决JS修改服务器控件值在后台无法获取修改后的值的问题
- textbox 设置enabled=false 或是readonly=true 后,在后台无法取值的问题
- android recyclerView在后台没返回图片size的情况下瀑布流的实现。
- Java 流读取本地文件
- pyhton爬诛仙小说
- Java Thread.yield理解
- CodeForces 126B password KMP
- C#进行MapX二次开发之MapX基础知识
- Git使用大全
- 浏览器无法加载本地文件,在后台读取字节流后返回给前端显示
- 【安装教程】windows8.1 下安装ubuntu14.04 双系统
- 并发测试
- 《图说VR入门》——Unity插件DK2使用教程
- 网络流(最小割最大流)【POJ3308】
- 通过Python3.5来学习几种不同的IO模型
- S32V234专业级AVM全景+ADAS解决方案
- 如何打造一个让人愉快的框架
- MySQL_Shell_清空数据库表中的数据