ファイル全体ではなく、ファイルの特定の部分をアップロードすることは可能ですか?たとえば、ファイルの最初の100バイトだけをアップロードしたいのですか、それともオフセット100バイトのファイルの残りの部分をアップロードしたいのですか?
3 に答える
最近のブラウザでは、適切な権限があれば、そうです。ファイルストリームの読み取りをサポートするには、ブラウザが必要です。チュートリアルはここにあります:http ://www.html5rocks.com/en/tutorials/file/dndfiles/
ファイルを開き、必要なチャンクとAJAXを介したPOST(jQueryなど)を見つけます。
チャンクに同期してアップロードし、サーバーサイドでつなぎ合わせる方が簡単な場合があります(セッションなど)。このようにして、アップロードの進行状況に関するフィードバックを提供できます。
古いブラウザ、またはこれがユーザーによってブロックされているブラウザの方法がわからない場合は、ファイル全体をアップロードして(FILE投稿を使用して)、サーバー側で必要な部分を取り除く方がよいでしょう。より多くのアップロードが、すべての人のためのより良いサポート。
編集-他の誰かがこれについて質問を投稿しました:https ://github.com/blueimp/jQuery-File-Upload- それはネイティブにそれをサポートしていないようですが、それはまたあなたが望むことをいくつかいじることで行うかもしれませんか?ただし、フォールバックを処理する必要があります。
はい、可能です。BlobApiでjavascriptFileApiを使用して、ファイルの任意の部分をアップロードできます。これはHTML5の機能であることに注意してください。
この機能を調査したい場合は、jQueryファイルアップロードプラグインをご覧ください。
ファイルAPIのsliceメソッドを使用して、半分のファイルを取得できます。
var midpt=Math.round(file.size/2);
var halfFile=file.slice(0,midpt); //specify start and end positions