2

ウェブページから動画をアップロードするために YouTube API を使用しています。

これは私のhtmlフォームです:

<form method="post" id="video_form" enctype="multipart/form-data" action="http://uploads.gdata.youtube.com/action/FormDataUpload/key=http://localhost:3000/en/id=4fc3af871d41c808f3000249" accept-charset="UTF-8"><div style="margin:0;padding:0;display:inline"><input type="hidden" value="✓" name="utf8"><input type="hidden" value="key=" name="authenticity_token"></div>
        <label for="Select_a_video">Select a video</label>
        <input type="file" name="yt_video_id" id="yt_video_id">
         <div class="actions">
        <input type="submit" value="Upload video" name="commit" id="submit_video_button" data-disable-with="Upload video" class="btn-large btn-primary">
         </div>
</form>

私はデザインに Twitter ブートストラップを使用しており、このプログレス バーがあります。

$(document).ready(function(){

    var progress = setInterval(function() {
    var $bar = $('.bar');

    if ($bar.width()==400) {
        clearInterval(progress);
        $('.progress').removeClass('active');
    } else {
        $bar.width($bar.width()+40);
    }
    $bar.text($bar.width()/4 + "%");
}, 800);

});​

http://jsfiddle.net/xXM2z/68/で例を見ることができます

私の問題は、進行状況バー (進行状況) が、ファイルを送信したバイト数またはメガバイト数と同期していないことです。

進行状況バーがファイルを送信したバイトまたはメガバイトと同期され、進行状況が正しく表示されるようにしたい...

どうすればいいですか?

どうもありがとうございました

4

1 に答える 1

1

私の知る限り、代わりにAJAX/XHRを使用してファイルをアップロードしない限り、できません。ブラウザに任せると、いつファイル全体がアップロードされたかがわかります。

XHR の例を次に示します。

http://hacks.mozilla.org/2009/06/xhr-progress-and-richer-file-uploading-feedback/

ただし、YouTube API がこれをサポートしているかどうかはわかりません。

于 2012-05-28T17:31:32.110 に答える