圖片地址防偽加密

有些圖片禁止外洩,就需要訪問時不能右鍵下載或檢視資源src地址不能輸入訪問。

目前做專案時用到阿里雲oss儲存,解決過程中遇到了一個小問題:直接把阿里雲圖片地址base加密,導致報不能訪問訪問。

解決辦法:

透過http獲取圖片,再進行加密。

InputStream in = null;final ByteArrayOutputStream data = new ByteArrayOutputStream();try { URL url = new URL(imgUrl); final byte[] by = new byte[1024]; // 獲取圖片 final HttpURLConnection conn = (HttpURLConnection) url。openConnection(); conn。setRequestMethod(“GET”); conn。setConnectTimeout(5000); in = conn。getInputStream(); int len = -1; while ((len = in。read(by)) != -1) { data。write(by, 0, len); } in。close();} catch (IOException e) { e。printStackTrace();}//陣列Base64編碼BASE64Encoder encoder = new BASE64Encoder();//返回Base64編碼過的位元組陣列字串String encode = encoder。encode(data。toByteArray());encode = encode。replaceAll(“[\\s*\t\n\r]”, “”);return encode;

透過以上方法實現加密前端alt="圖片地址防偽加密" data-isLoading="0" src="/static/img/blank.gif" data-src=“data:image/jpg;base64”+url地址接收

圖片地址防偽加密

還有一個問題oss支援縮圖 只需要加引數:?x-oss-process=image/resize,m_fixed,w_100,h_100,即可對原圖片地址進行縮略。