Javascript ファイルと Blob の詳細な説明

Javascript ファイルと Blob の詳細な説明

ファイル()

File() コンストラクターは新しい File オブジェクト インスタンスを作成します。

文法

var myFile = new File(ビッ​​ト、名前[、オプション]);

パラメータ

ビット

ArrayBufferArrayBufferViewBlob 、またはDOMStringオブジェクト、またはこれらの任意の組み合わせを含む配列。これは UTF-8 でエンコードされたファイルの内容です。

名前

USVString 、ファイル名またはファイル パスを示します。

オプション オプション

ファイルのオプションのプロパティを含むオプション オブジェクト。利用可能なオプションは次のとおりです。

  • type : ファイルに配置されるコンテンツの MIME タイプを表す DOMString。デフォルト値は "" です。
  • lastModified : ファイルが最後に変更されたときの Unix タイムスタンプ (ミリ秒単位) を表す数値。デフォルト値は Date.now() です。

var file = new File(["私の名前"], "infoTxt", {
  タイプ: "text/plain",
});

ブロブ()

Blob オブジェクトは、不変の生のファイルのようなオブジェクトを表します。データはテキストまたはバイナリ形式で読み取ることができ、データ操作のために ReadableStream に変換することもできます。

Blob は必ずしも JavaScript のネイティブ形式でデータを表すわけではありません。 File インターフェイスは Blob に基づいており、blob の機能を継承し、ユーザーのシステム上のファイルをサポートするように拡張されています。Blob オブジェクトの API も File インターフェイスにリストされています。

他の非 BLOB オブジェクトとデータから Blob を構築するには、Blob() コンストラクターを使用します。 BLOB のデータのサブセットを作成するには、slice() メソッドを使用します。ユーザーのファイル システム上のファイルに対応する Blob オブジェクトを取得するには、ファイルのドキュメントを参照してください。

文法

var aBlob = new Blob(配列、オプション);

パラメータで指定された配列の連結で構成される内容を持つ新しく作成された Blob オブジェクトを返します。

パラメータ

  • array は、 ArrayBufferArrayBufferViewBlobDOMString 、または Blob に格納される同様のオブジェクトの混合の配列です。 DOMStrings は UTF-8 としてエンコードされます。
  • options はオプションの BlobPropertyBag 辞書であり、次の 2 つのプロパティを指定できます。
    • type、デフォルト値は "" で、これは BLOB に格納される配列コンテンツの MIME タイプを表します。
    • 行末の場合、デフォルト値は「transparent」で、行末 \n を含む文字列の書き方を指定します。 これは、行末がホスト オペレーティング システムのファイル システムに適した改行文字に変更されることを意味する「ネイティブ」、または BLOB に格納されている行末が変更されないことを意味する「透過的」の 2 つの値のいずれかです。

財産

Blob.size 読み取り専用

Blob オブジェクトに含まれるデータのサイズ (バイト単位)。

Blob.type 読み取り専用

この Blob オブジェクトに含まれるデータの MIME タイプを示す文字列。タイプが不明な場合、値は空の文字列になります。

方法

Blob.slice([開始[, 終了[, コンテンツタイプ]]])

ソース Blob オブジェクトの指定された範囲のデータを含む新しい Blob オブジェクトを返します。

Blob.stream()

BLOB の内容を読み取ることができるReadableStreamを返します。

Blob.text()

UTF-8 形式の BLOB の内容全体を含むUSVStringに解決される promise を返します。

Blob.arrayBuffer()

バイナリ形式で BLOB のすべてのコンテンツを含むArrayBufferを含む promise を返します。

const aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // DOMStrings を含む配列 const oMyBlob = new Blob(aFileParts, {type : 'text/html'}); // BLOB を取得
oMyBlob.サイズ // 32
oMyBlob.type // 'text/html'

Blob() コンストラクターを使用すると、他のオブジェクトから Blob オブジェクトを作成できます。たとえば、文字列から BLOB を構築するには、次のようにします。

var debug = {hello: "world"};
var blob = new Blob([JSON.stringify(debug, null, 2)], {type : 'application/json'});

Blobを使用して、型付き配列を指すURLを作成します。

const imgBlob = fetchedImgData(); // インターフェースを通じて返される画像リソース。返される responseType を blob に設定します。
const blob = new Blob([imgBlob], {type: 'image/png' }); // 適切な MIME タイプを渡します const url = URL.createObjectURL(blob);
// blob:d3958f5c-0777-0845-9dcf-2cb28783acaf のような URL 文字列が生成されます // img.src などで通常の URL のように使用できます。

BLOBからデータを抽出する

Blob からコンテンツを読み取る 1 つの方法は、FileReader を使用することです。次のコードは、Blob の内容を型付き配列として読み取ります。

const リーダー = 新しい FileReader();
リーダー。ArrayBuffer として読み込みます(blob)。
reader.addEventListener("load ", 関数(readRes) {
   // readRes.target.result は arrayBuffer の blob に変換されます
});

Blob の内容を読み取る別の方法は、Response オブジェクトを使用することです。次のコードは、Blob の内容をテキストとして読み取ります。

var text = 新しいレスポンス(blob).text() を待機します。

Blob は、FileReader の他のメソッドを使用して文字列またはデータ URL として読み取ることができます。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • js でファイル コントロールの完全なパスを取得するにはどうすればよいでしょうか?
  • JavaScript と fileReader を組み合わせて画像をアップロードする
  • jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります
  • js 画像アップロードにおけるファイル、bolb、base64 画像間の変換

<<:  CSS3で実装されたグラデーションスライド効果

>>:  MySQL のインデックス有効条件とインデックス無効条件の結合

推薦する

CSSは、マウスを線の上に置くと線全体の色を変える効果を実現します。

まとめ:以下のように、CSS で指定した行にマウスを置いたときに行全体の色を変更する方法を示します。...

MySql ストアド プロシージャ パラメータの初歩的な使用法の詳細な説明

パラメータでのストアドプロシージャの使用IN パラメータは、プロシージャに情報を渡すためにのみ使用さ...

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...

データベースのデフォルトパスを変更した後にmysqlが起動できない問題の解決策

序文mysql がデフォルトのデータベース パスを変更したため、サービスを開始できませんでした。ログ...

サーバー上でjupyterノートブックを実行する問題を解決する

目次サーバーはjupyterノートブックを実行します仮想環境次にファイアウォールをオフにしますJup...

Linux システムで Tomcat のポート 80 を使用する方法

アプリケーションシナリオ多くの場合、Linux サーバーに tomcat や nginx などのソフ...

プロジェクトを素早く構築するためのvite+vue3.0+ts+element-plusの実装

目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...

JavaScript を使用してページに動的な検証コードを実装する例

導入:現在、プログラム攻撃を防ぐために、ユーザーがログインまたは登録するときに多くの動的検証テクノロ...

標準的なHTMLの書き方は、Dreamweaverによって自動的に生成されるものとは異なります。

コードをコピーコードは次のとおりです。 <!--doctype はドキュメント タイプ htm...

Vueは下部のポップアップウィンドウで複数選択を実装します

この記事の例では、下部のポップアップウィンドウで複数選択を実装するためのVueの具体的なコードを共有...

JS の効率的なマジック演算子の概要

JavaScript は現在、毎年新しいバージョンがリリースされており、より便利で効率的な新しい演算...

CSSテーマを簡単に切り替える方法の詳細な説明

最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...

MySql8.0バージョンに接続するMyBatisの設定問題について

mybatis を学習しているときにエラーが発生しました。エラーの内容は次のとおりです。データベース...

Linuxにおけるumaskコマンドの使用原理と計算方法の詳しい解説

目次umask umaskの使用法原理1. umask値2. ファイルディレクトリの最大権限3. 従...

1 つの記事で Apache Avro データを解析する

概要: この記事では、Avro データをシリアル化して生成し、FlinkSQL を使用して解析する方...