好的,所以有一點小小的前言:我一直在將拖放文件上傳到名爲Moodle(特別是2.0.1)的課程管理系統。此版本的Moodle使用YUI3框架,並通過io-upload-iframe上載帶有要上傳文件的表單數據和另存爲名稱。該文件存儲在超級全局$ _FILES中,直到文件系統被髮送到永久存儲它的相關數據。
我遇到的麻煩是,而不是使用YUI3的拖放功能(從粗略看他們的網站是不是我需要的拖放類型)我使用本機HTML5拖動並刪除代碼。這似乎適用於大多數主流瀏覽器(我沒有足夠的時間進行測試,並且超出了本項目的範圍)。我遇到的麻煩是這種DND設計會立即爲您提供來自JavaScript中Event對象的文件。我可以將此文件對象發送到任何我想要的位置,但文件系統僅用於處理臨時存儲在$ _FILES變量中的變量。不幸的是,我一直無法找到任何簡單的方法讓這個文件存儲在那裏。我可以對各種形式的HTTP請求(YUI3的特殊Y.io()請求或XHR之一)進行HTTP請求,但這需要來自原始源代碼的大量重複代碼。
有人有什麼建議嗎?
對不起,我可能不是在所有的清楚,我遇到的問題是「和YUI隨後將文件「一點。通過設計文件上傳通常是通過表單中的文件輸入來完成的,該表單是POST的,我需要在沒有表單的情況下複製它,因爲DND事件爲ME提供文件而不是存儲它。 – Clint 2011-04-23 15:29:10
當您收到該文件對象時,則不需要表單。瀏覽一些關於免打擾的文章,你可以使用['.getAsDataURL()'](http://dev.w3.org/2006/webapi/FileAPI/#readAsDataURL)方法,然後用它來製作一個AJAX請求。 - 我不能相信有沒有已經處理的YUI插件。 – mario 2011-04-23 15:50:00
http://stackoverflow.com/questions/2117845/html-5-file-api並瀏覽http://hacks.mozilla.org/2009/12/file-drag-and-drop-in-firefox-3 -6 /更多教程 – mario 2011-04-23 15:53:18