ファイルプレビューシステムを作成しようとしています。
ユーザーがアップロードボタンをクリックしてファイルを選択すると、HTML5 FILE APIを使用してすべてのファイル情報を取得し、ファイルのサムネイルを作成します。
ユーザーは、これらのファイルの一部のアップロードをキャンセルして、さらにファイルを追加することもできます。
私が今持っているのはこれです:
<p><input id="blob" name="blob" type="file" size="75" multiple /></p>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input id="blobtype" name="blobtype" type="text" size="20" />
<input id="bloburl" name="bloburl" type="text" size="50" />
<input id="salvar" name="salvar" type="submit" value="salvar" />
</form>
<p id="result"></p>
そして私のJavaScript:
function cbu(file)
{
if (window.URL){ return window.URL.createObjectURL(file);}
else if (window.webkitURL){ return window.webkitURL.createObjectURL(file);}
else if (window.createObjectURL){ return window.createObjectURL(file);}
else if (window.createBlobURL){ return window.createBlobURL(file); }
}
document.getElementById("blob").onchange = function(event)
{
var result = document.getElementById("result");
var i = 0, j = event.target.files.length;
for (i = 0; i < j; i++)
{
var url = cbu(event.target.files[i]);
var img = document.createElement("img");
img.onload = function(){ }
result.appendChild(img);
img.src = url;
document.getElementById("blobtype").value = event.target.files[i].type;
document.getElementById("bloburl").value = url;
}
};
次のようなサムネイルが生成されます。
<img src="blob:b9a8e310-05b3-48ba-ba24-9ca7cf287f71">
この値blob:b9a8e310-05b3-48ba-ba24-9ca7cf287f71
は、ユーザーがフォームを送信したときにPHPファイルに送信されます。
だから私の質問は、このblob URLをファイルに変換して、アプリに保存できるようにするにはどうすればよいですか?
これを行うためのより良い方法はありますか?
お手伝いありがとうございます!