2013-04-08 82 views
0

我使用YouTube的API將視頻從瀏覽器直接上傳到他們的服務器。他們的api documentation使用標準的HTML表單上傳視頻。這個過程可以工作,但我想爲上傳添加一個進度條。這是可能的舊學校形式上傳還是有辦法異步做同樣的?我使用的是asp.net mvc \ api。謝謝!如何獲取標準HTML表單上傳的進度條?

<form action="URL?nexturl=http%3A%2F%2Fwww.example.com" method="post" 
    enctype="multipart/form-data" onsubmit="return checkForFile();"> 
    <input id="file" type="file" name="file"/> 
    <div id="errMsg" style="display:none;color:red"> 
    You need to specify a file. 
    </div> 
    <input type="hidden" name="token" value="TOKEN"/> 
    <input type="submit" value="go" /> 
</form> 

回答

1

不,不可能提供帶有標準上傳的進度條。提交表單後,技術上已經退出該頁面。瀏覽器會保留它,直到它從服務器收到要加載的新內容,直到上載完成並完全發佈表單纔會發生。與此同時,您的頁面已基本死亡。

過去,人們使用Flash或Java控件取消了這一功能,但所有這些功能都允許異步文件傳輸,因爲無法使用普通的舊HTML和JavaScript進行傳輸。

使用HTML5,現在可以上傳AJAX文件。快速介紹請參見http://www.sitepoint.com/html5-javascript-file-upload-progress-bar/。請注意,這僅在現代瀏覽器中受支持(即不支持IE6-9)。有可用的後備使用iframe來模擬異步上傳。只要做一些谷歌搜索。

+0

非常感謝您的詳細解答。 – NullReference 2013-04-08 20:33:19