1. 程式人生 > >瀏覽器無法載入本地檔案,在後臺讀取位元組流後返回給前端顯示

瀏覽器無法載入本地檔案,在後臺讀取位元組流後返回給前端顯示

由於安全性考慮,許多瀏覽器不允許訪問本地檔案。

用谷歌瀏覽器開啟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

相關推薦

瀏覽器無法載入本地檔案後臺讀取位元組返回前端顯示

由於安全性考慮,許多瀏覽器不允許訪問本地檔案。 用谷歌瀏覽器開啟html時,img的src賦值如F:/XXX/XXX/**.jpg,console顯示no allowed to load local resourses 1. 將src改為file:///F:/XXX形式,依

使用Idea建立maven專案無法載入pom檔案一直出現Indexing paused during Power Save mode

今天建立一個maven專案,無法載入pom檔案,一直以為是maven的問題,發現自己倉庫地址和配置檔案地址沒有設定錯。於是看了下邊中間顯示Indexing paused during Power Save mode。一看,以為是電腦問題,省電模式,可是自己電腦沒有設定省電模式

pig無法載入本地檔案解決小記

今天測試pig的一個小用法需要載入本地檔案,又是第一次用pig,結果本地檔案讀取不到,後經搜尋得到需要在pig命令列模式下載入本地

maven無法載入本地jar包以及maven專案打包本地jar包沒有打進專案的問題解決辦法

1、首先設定依賴項,這樣maven就會把該路徑下的jar包匯入專案引用 <dependency> <groupId>DPSDK-Manager</groupId&g

@Validated引數校驗異常資訊封裝成JSON返回前端

在之前,曾經寫過一篇部落格對於@Validated的使用說明,但是對於引數校驗不通過之後的異常資訊,又如何封裝到一個JSON物件返回給前端呢? controller層的程式碼: 如圖所示,如果我們僅僅使用@Validated進行校驗,但是不做任何其他處理,使用postman模擬前端請求

IE瀏覽器無法載入資料按F12就可以載入

Root cause: 程式碼裡用到console物件,而某些版本的IE不開控制檯,是沒有這個物件的。 因為上下文中沒有console這個物件, 所以就直接拋異常了,但是不開啟控制檯看不到。打開了控制檯,上下文中就有這個物件,所以就不會拋錯了 Action: 1.刪除co

無法載入播放器請刪除瀏覽器快取重試

網速很慢,能上qq,不能看視訊,網速很慢,一下載軟體,網速就為0k/s。 一種被蓄意打包和正常軟體捆綁安裝的廣告木馬,病毒會釋放正常的flash外掛相關檔案,同時將病毒檔案XFlash1000.ocx和Flash10e.ocx也一併釋放到系統中.另一種是非病毒原因即網路原因

Android WebView無法載入本地html檔案的解決方法

LogCat報錯如下:"XMLHttpRequest cannot load file:///sdcard/xxx/index.html. No 'Access-Control-Allow-Origin' header is present on the requested

Android使用webview控制元件載入本地html通過Js與後臺Java實現資料的傳遞

1.在佈局檔案中加WebView控制元件,在java中獲取WebView物件。 2.載入本地html檔案。 3.開啟js功能。         webView.getSettings().setJa

資料byte形式備份儲存到本地檔案反序列化讀取出資料恢復

前提: 需要備份的資料由介面 object轉換成byte[],備份儲存到本地檔案; 選擇本地檔案,取得資料 byte[]轉換成object,用於資料恢復。 步驟如下: 1.把物件(資料)list ( object ) 序列化並返回相應的位元組byte[] pub

在阿里雲上部署Django應用頁面403錯誤始終無法載入靜態檔案的解決方案

設定好了 nignx uwsgi 還有一大堆亂七八糟的東西之後, 費勁九牛二虎之力,好不容易登上了自己寫的網站,結果卻發現,靜態檔案全都沒有加載出來… mdzz!!! 改來改去也改不好,萬般無奈,又在 bing 上搜索了一下,發現了另一個和我一樣蠢得同學

Java 讀取、寫入 本地檔案圖片

一、java方式 二、java.io方式 demo.class.getClassLoader().getResource("fixture").getFile(); #從根目錄下開始,讀取target目錄下的檔案 一、java方式 1、使用FileWriter類寫文

win10主機無法進入本地共享“沒有權限”

targe mage info 目標 計算 問題 相關 開啟 get 1.操作系統win10企業版,補丁已更新到2018年7月,安全級別升級了,之前未更新補丁時是可以進入共享的。 報如下錯誤: 其他電腦進共享均沒有問題,開共享的本地電腦,權限都已打開,防火墻也關閉了。 問

使用base64上傳檔案後臺轉為MultipartFile

通常情況下,上傳檔案時,使用的都是file型別。我們再java後臺應用只需要使用MultipartFile接收就可以了。有的時候,或許我們也會遇到使用base64進行檔案上傳。今天,我們一起學習下後臺 應該如何處理這樣的情況。 由於MultipartFile的實現類都不太適用於base64的上傳

使用jquery的load方法載入本地檔案

1. 方法一(圖一):使用chrome瀏覽器,關掉瀏覽器,通過截圖的兩條命令執行chrome瀏覽器,再執行test.html檔案。方法二(圖二):選擇chrome瀏覽器快捷方式,右鍵選擇屬性,再點選快捷方式,在目標"C:\Program Files (x86)\Google\Chrome\Appli

pycharm匯入本地檔案程式執行正常但匯入模組時出現紅色波浪線

pycharm匯入本地檔案,程式執行正常,但匯入模組時出現紅色波浪線,如下所示: 兩種解決辦法: (1)在檔案前面加“.” (2)點選選單欄的“PyCharm”, 然後選擇“Preferences”,接著依次執行以下操作,最後點選“OK”按鈕。 (3) 

SQL Server無法開啟物理檔案作業系統錯誤 5:"5(拒絕訪問。)的解決辦法

在新裝的系統中使用SQL Server附加以前的資料庫的時候可能會遇到“無法開啟物理檔案,拒絕訪問”的錯誤,如下圖:     解決方法為使用windows驗證登入,或者更改SQL Server內建賬戶型別為Local System。 以SQL Server 2008 R2為例,更改

將100道計算題輸出至txt檔案讀取檔案至控制檯,在控制檯中輸入答案並評判對錯

我在課堂上基本完成了輸出100道題和建立文件,但是因為對輸入輸出流不熟悉,所以並沒有實現將輸出的計算題匯出到文件裡,在課下我又請教了宿舍的大佬,基本完成如下: 原始碼: import java.io.File; import java.io.FileInputStream; import java.

Excel上傳後臺讀取資料處理合並單元格的特殊操作

/** * 判斷指定的單元格是否是合併單元格 * @return */ public static boolean isMergedRegion(XSSFSheet sheet, int row, int column) { int sheetMe

java爬蟲之入門基礎 java讀取txt檔案對字串進行操作匯出txt檔案

相比於C#,java爬蟲,python爬蟲更為方便簡要,首先呢,python的urllib2包提供了較為完整的訪問網頁文件的API,再者呢對於摘下來的文章,python的beautifulsoap提供了簡潔的文件處理功能,這就成就了他爬蟲的優勢。 作為一名滿腦子要成為一名大牛的程式設計師小白來講,倒不是非要