以下を達成したい。
<video src="file:///Users/username/folder/video.webm">
</video>
意図は、ユーザーが自分のハードドライブからファイルを選択できるようにすることです。
そして、アップロードしない理由は、もちろん送信コストとストレージ割り当てです。ファイルを保存する理由はありません。
出来ますか?
ローカルビデオファイルを再生することが可能です。
<input type="file" accept="video/*"/>
<video controls autoplay></video>
input
要素を介してファイルが選択された場合:
input.files
から取得します FileListvideo.src
プロパティに設定しますリーンバックして見る:)
http://jsfiddle.net/dsbonev/cCCZ2/embedded/result,js,html,css/
これは、HTMLファイルがローカルユーザーのハードディスクからfile
プロトコルでロードされている場合にのみ可能です。
HTMLページがサーバーからHTTPによって提供される場合、file://
プロトコルでsrc
属性に指定することでローカルファイルにアクセスすることはできません。ユーザーのコンピュータは、どれが大きなセキュリティリスクであるかを知らないままです。
Dimitar Bonevが言ったように、あなたがcanユーザーが自分でファイルセレクターを使用して選択した場合、ファイルにアクセスします。そのステップがなければ、正当な理由ですべてのブラウザで禁止されています。したがって、彼の答えは多くの人々にとって有用であることがわかるかもしれませんが、元の質問のコードから要件を緩めます。
しばらく前にこの問題に遭遇しました。セキュリティ設定のため、WebサイトはローカルPCのビデオファイルにアクセスできませんでした(本当に理解できる)唯一の方法は、ローカルPC(server2Go)でWebサーバーを実行することで、Webからのビデオファイルへのすべての参照は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-->
理想的なソリューションではありませんが、私にとってはうまくいきました。