欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript blob 圖片

洪振霞1年前7瀏覽0評論
JavaScript Blob圖片簡介 在現代的后端和前端開發中,顯示圖片已經成為了web應用程序不可或缺的一部分。而我們常常需要處理和處理圖片的流。傳統上有一個處理流式數據接口的起源 python 的IO 模塊。JavaScript 對流的處理也追隨了相似的思路,采用 Blob 對象作為表示流的媒介。 那么什么是 Blob?又怎么把 Blob 和圖片聯系到一起來完成操作呢? 一、什么是Blob? Blob 對象表示不可變、原始數據的類似于文件的對象。 Blob 表示二進制數據結構,用于構建原始數據流,它比 HTTP 斷點續傳更高效,可以在 Web 頁面和不同應用之間快速地傳遞數據。 我們可以使用 Blob 對象的以下方法來獲取其中的數據: Blob.iso — 返回一個類型為 DOMString 的字符串,代表該 Blob 對象的MIME類型 Blob.size — 返回一個 unsigned longlong 類型的值,表示該 Blob 對象中數據的大小。 Blob.slice() — 返回一個新的 Blob 對象, 代表前一 Blob 的子集。 二、如何在 JavaScript 中處理Blob 圖片? 我們可以使用 JavaScript 的 Blob 來生成, 加載和下載圖像。下面是使用 Blob 對象和 HTML canvas 標記在本地存儲圖像:

創建并操作Blob對象可以使用下面的代碼

// 創建 blob 對象
var myBlob = new Blob(["這是一堆測試內容"], {
type: "text/plain;charset=utf-8"
 });
//打開用 window.URL.createObjectURL 提供的 URL 以便下載文件
var a = document.createElement('a');
a.href = window.URL.createObjectURL(myBlob);
a.download = 'myfilename.txt';
a.style.display = 'none'; // 隱藏 Dom 元素
document.body.appendChild(a);
a.click(); // 模擬click事件
document.body.removeChild(a);
使用 canvas 和 Blob 將 Image 對象轉換成 Blob 對象并生成blob對象的URL
//  Create a new canvas, and set such you want
var canvas = document.createElement('canvas');
// Add canvas to the DOM
document.body.appendChild(canvas);
// Set the canvas size
canvas.width = 300;
canvas.height = 300;
// Get canvas context
var ctx = canvas.getContext('2d');
// Draw a image on canvas 
ctx.drawImage(img,0,0,300,300);
// Get the data of canvas in blob
canvas.toBlob(function(blob) {
var formData = new FormData();
formData.append('image', blob, "myimage.jpg");
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://example.com/api/upload')
});
當然,這只是其中一種 Blob 處理圖片的方法,具體使用需要根據自己的需求來,例如使用自定義 HTTPS 可能需要一些加密庫,同時 Blob 也不能直接上傳服務器,需要用 fileReader 轉換成文件流。