1
說我只有一個圖像的URL,我想從跨域腳本獲取它的BAse64字符串值,而不使用DOM或Canvas或jQuery。這可能嗎?...通過使用純Javascript?Javascript:從圖像URL獲取Base64字符串
說我只有一個圖像的URL,我想從跨域腳本獲取它的BAse64字符串值,而不使用DOM或Canvas或jQuery。這可能嗎?...通過使用純Javascript?Javascript:從圖像URL獲取Base64字符串
如果圖像是跨域資源,除非服務器使用適當的CORS標頭提供圖像,否則您將無法讀取它。瀏覽器從不允許腳本讀取跨源資源的內容(這是同源策略的核心),除非跨源服務器明確允許使用CORS。
假設你做有適當的CORS標頭(或只是同源圖像)的圖像,你可以提取圖片爲Blob
(使用responseType
),並把它讀作一個文件來獲取base64編碼data:
網址:
var xhr = new XMLHttpRequest()
xhr.open("GET", "myimg.png");
xhr.responseType = "blob";
xhr.send();
xhr.addEventListener("load", function() {
var reader = new FileReader();
reader.readAsDataURL(xhr.response);
reader.addEventListener("loadend", function() {
console.log(reader.result);
});
});
不,那是不可能的,除非你使用Node.js的,做一個XMLHttpRequest到返回中的Base64的服務器,你會使用*只有JavaScript *這種方式,並沒有DOM, Canvas或jQuery – adeneo
不使用畫布或DOM或jQuery?我認爲這是不可能的。爲什麼你不使用畫布? –
您可以使用['btoa('...')'](https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa)轉換爲Base64,但您仍然需要了解如何從不同的領域獲取圖像。 – Xufox