次の問題があります。アプレット メソッドを実行し、アプレットの結果 (byte[]) を回復し、それを html5 ビデオ タグに入れようとする html ページがあります。アプレットのタスクは、いくつかの画像を含むビデオ ファイル (mp4) を生成することです。次に、ファイルを byte[] に変換し、javascript メソッドを呼び出してデータを送信します。
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum); //no doubt here is 0
//Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
}
} catch (IOException ex) {
JOptionPane.showMessageDialog(null,
"EXCEPTION SEND FILE :" + ex.toString());
}
data = bos.toByteArray();
JSObject win = JSObject.getWindow(this);
win.call("readFile", new Object[]{data});
JavaScript メソッドのコードは次のとおりです。
function readFile(file_data)
{
var video = document.getElementById('localVideoPreview');
video.src = window.URL.createObjectURL(file_data);
video.play();
}
しかし、file_data から URL を生成しようとするとエラーが発生します。file_data のタイプが正しくないようです。何が間違っているのかわかりません。何か助けはありますか?前もって感謝します