欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
HTML5中的二進(jìn)制大對象Blob
jquery2000  閱讀(5636) 評論(0)

HTML5中的Blob對象和MYSQL中的BLOB類(lèi)型在概念上是有點(diǎn)區別的。MYSQL中的BLOB類(lèi)型就只是個(gè)二進(jìn)制數據容器。而HTML5中的Blob對象除了存放二進(jìn)制數據外還可以設置這個(gè)數據的MINE類(lèi)型,這相當于對文件的儲存,其它很多二進(jìn)制對象也是從這個(gè)對象繼承的。

 

一個(gè)Blob對象就是一個(gè)包含有只讀原始數據的類(lèi)文件對象.Blob對象中的數據并不一定得是JavaScript中的原生形式.File接口基于Blob,繼承了Blob的功能,并且擴展支持了用戶(hù)計算機上的本地文件.

創(chuàng )建Blob對象的方法有幾種,可以調用Blob構造函數,還可以使用一個(gè)已有Blob對象上的slice()方法切出另一個(gè)Blob對象,還可以調用canvas對象上的toBlob方法.

注: 需要注意的是,一些瀏覽器上的slice()方法仍帶有前綴:Firefox 12之前的版本上為blob.mozSlice(),Safari上為blob.webkitSlice().
注: 一些瀏覽器提供了BlobBuilder接口,但并不是所有的瀏覽器都支持BlobBuilder,而且現有的BlobBuilder實(shí)現都是帶前綴的.更主要的是BlobBuilder已經(jīng)被廢棄,你應該盡可能的使用Blob構造函數來(lái)代替.

屬性

屬性名    類(lèi)型描述
size       unsigned long longBlob對象中所包含數據的大小只讀.
typeDOMString一個(gè)字符串,表明該Blob對象所包含數據的MIME類(lèi)型.如果類(lèi)型未知,則該值為空字符串. 只讀.

構造函數

Blob Blob(  [optional] Array parts,  [optional] BlobPropertyBag properties);
參數
parts
一個(gè)數組,包含了將要添加到Blob對象中的數據.數組元素可以是任意多個(gè)的ArrayBuffer,ArrayBufferView (typed array), Blob,或者DOMString對象.
properties
一個(gè)對象,設置Blob對象的一些屬性.查看BlobPropertyBag一節.

方法

slice()

返回一個(gè)新的Blob對象,包含了源Blob對象中指定范圍內的數據.

Blob slice(  optional long long start,  optional long long end,  optional DOMString contentType};

參數

start 可選
開(kāi)始索引,可以為負數,語(yǔ)法類(lèi)似于數組的slice方法.默認值為0.
end 可選
結束索引,可以為負數,語(yǔ)法類(lèi)似于數組的slice方法.默認值為最后一個(gè)索引.
contentType 可選
新的Blob對象的MIME類(lèi)型,這個(gè)值將會(huì )成為新的Blob對象的type屬性的值,默認為一個(gè)空字符串.

返回值

一個(gè)新的Blob對象,包含了源Blob對象中指定范圍內的數據.

注意

如果start參數的值比源Blob對象的size屬性的值還大,則返回的Blob對象的size值為0,也就是不包含任何數據.

BlobPropertyBag

一個(gè)包含有兩個(gè)屬性typeendings的對象.

type
設置該Blob對象的type屬性.
endings(已廢棄)
對應于BlobBuilder.append()方法的endings參數.該參數的值可以是"transparent"或者"native".

Blob構造函數用法舉例

下面的代碼:

var aFileParts = ["<a id=\"a\"><b id=\"b\">hey!<\/b><\/a>"];var oMyBlob = new Blob(aFileParts, { "type" : "text\/xml" }); // the blob
 

等價(jià)于:

var oBuilder = new BlobBuilder();var aFileParts = ["<a id=\"a\"><b id=\"b\">hey!<\/b><\/a>"];oBuilder.append(aFileParts[0]);var oMyBlob = oBuilder.getBlob("text\/xml"); // the blob
 

BlobBuilder接口提供了另外一種創(chuàng )建Blob對象的方式,但該方式現在已經(jīng)廢棄,所以不應該再使用了.

例子:使用類(lèi)型數組和Blob對象創(chuàng )建一個(gè)對象URL

var typedArray = GetTheTypedArraySomehow();var blob = new Blob([typedArray], {type: "application/octet-binary"}); // 傳入一個(gè)合適的MIME類(lèi)型var url = URL.createObjectURL(blob);// 會(huì )產(chǎn)生一個(gè)類(lèi)似blob:d3958f5c-0777-0845-9dcf-2cb28783acaf這樣的URL字符串// 你可以像使用一個(gè)普通URL那樣使用它,比如用在img.src上.
 

瀏覽器兼容性

 

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support541011.105.1
slice()

21
10 webkit?

13
moz?
10125.1 (534.29webkit
Blob() constructor2013.0 (13.0)1012.106 (536.10)

 

注意:關(guān)于slice()的實(shí)現

slice()方法一開(kāi)始使用length來(lái)作為第二個(gè)參數,表示需要向新的Blob對象拷貝多少個(gè)字節.如果你指定的參數值start + length的值超過(guò)了源Blob對象的長(cháng)度,則返回的Blob對象包含了從start索引到源Blob對象結束索引處的所有數據.

這個(gè)版本的slice()實(shí)現于Firefox 4WebKit,以及 Opera 11.10中.可是,由于這個(gè)語(yǔ)法和我們常用的Array.slice()以及String.slice()語(yǔ)法不同,所以已被廢棄.Gecko和WebKit目前支持的是新版的slice語(yǔ)法.

從Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10)和Chrome 21開(kāi)始,slice()去掉了前綴.?

Gecko備注

在Gecko 12.0 (Firefox 12.0 / Thunderbird 12.0 / SeaMonkey 2.9)之前,slice()方法有個(gè)bug,就是參數startend的值不能超出64位無(wú)符號數字范圍,現已修復.

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久