3

次のコードを使用して、キャンバス イメージをブロブに変換しています。
BLOB をファイル/ファイルリスト オブジェクトに変換するには、そのファイルリストをファイル ハンドラーに渡す必要があります。

マイコード:

var canvas1 = document.getElementById("preview");
var theImage = document.getElementById("blahProfile");
theImage.src = canvas1.toDataURL();
var blob = dataURItoBlob(theImage.src);

そのブロブをファイルオブジェクトに変換する方法はありますか?

4

1 に答える 1

5

Fileオブジェクトには、 、 、 などのBlobプロパティを持つオブジェクトよりも多くの情報が含まれています。画像データはファイルではないため、これらのプロパティのいずれかを持つことは意味がありません。lastModifiedDatefileName

オブジェクトを読み取るためにFileListユーザーを処理すると仮定します。ただし、メソッドはオブジェクトも処理できます (は のサブクラスであるため)。したがって、次のいずれかを実行できます。FileReaderFileFileReaderBlobFileBlob

  • or (および場合によっては解決コールバック関数)FileReaderを受け入れる別の関数にコードを抽出し、各項目を処理するとき、および画像データを処理するときにその関数を呼び出します。BlobFileFileListBlob

  • FileListハンドラーがインデックス (例: ) によってのみリスト項目にアクセスする場合、s の配列を使用するだけでmyFileList[i]a を偽装できます。たとえば、次の関数はs の実数または配列のいずれかで機能します。FileListBlobFileListBlob

    function processFileList(list) {
        var reader = new FileReader();
        reader.readAsText(list[0]);
        reader.addEventListener("loadend", function() {
            console.log(reader.result);
        });
    }
    
于 2014-05-29T06:53:34.947 に答える