以下を実現したい。
<video src="file:///Users/username/folder/video.webm">
</video>
その目的は、ユーザーが自分のハードドライブからファイルを選択できるようにすることです。
そして、アップロードしない理由はもちろん、送信コストとストレージクォータです。ファイルを保存する理由はありません。
出来ますか?
以下を実現したい。
<video src="file:///Users/username/folder/video.webm">
</video>
その目的は、ユーザーが自分のハードドライブからファイルを選択できるようにすることです。
そして、アップロードしない理由はもちろん、送信コストとストレージクォータです。ファイルを保存する理由はありません。
出来ますか?
回答:
ローカルビデオファイルを再生することが可能です。
<input type="file" accept="video/*"/>
<video controls autoplay></video>
input
要素を介してファイルが選択された場合:
input.files
video.src
プロパティに設定します身を乗り出して見てください:)
http://jsfiddle.net/dsbonev/cCCZ2/embedded/result,js,html,css/
これは、HTMLファイルにもfile
ローカルユーザーのハードディスクからプロトコルがロードされている場合にのみ可能になります。
HTMLページがサーバーからHTTPによって提供されている場合src
、file://
プロトコルの属性でローカルファイルを指定してアクセスすることはできません。これは、ユーザーがどちらであるかを知らなくても、ユーザーのコンピューター上の任意のファイルにアクセスできることを意味します。巨大なセキュリティリスク。
Dimitar Bonevが言ったように、ユーザーが自分でファイルセレクターを使用してファイルを選択すると、ファイルにアクセスできます。その手順がないと、正当な理由ですべてのブラウザで禁止されます。したがって、彼の答えは多くの人にとって役立つかもしれませんが、元の質問のコードから要件を緩めます。
しばらく前にこの問題に遭遇しました。ウェブサイトはセキュリティ設定のためにローカルPC上のビデオファイルにアクセスできませんでした(本当に理解できます)それを回避する唯一の方法はローカルPC(server2Go)でウェブサーバーを実行することでしたそしてウェブからのビデオファイルへのすべての参照はlocalhost / video.mp4
<div id="videoDiv">
<video id="video" src="http://127.0.0.1:4001/videos/<?php $videoFileName?>" width="70%" controls>
</div>
<!--End videoDiv-->
理想的な解決策ではありませんが、私にとってはうまくいきました。