我需要用戶能夠上傳多個文件到我的服務器,因此我使用的是SWFUpload
實用程序。 SWFUpload逐個發送文件,我需要將它們全部存儲在同一個臨時目錄中。我的ASP.NET
處理程序逐個收到文件,我可以適當地存儲該文件。SWF上傳多個文件服務器端處理
我的問題是:如何知道哪些文件屬於同一上傳?換言之,我如何連接我的處理程序中的文件?
我需要用戶能夠上傳多個文件到我的服務器,因此我使用的是SWFUpload
實用程序。 SWFUpload逐個發送文件,我需要將它們全部存儲在同一個臨時目錄中。我的ASP.NET
處理程序逐個收到文件,我可以適當地存儲該文件。SWF上傳多個文件服務器端處理
我的問題是:如何知道哪些文件屬於同一上傳?換言之,我如何連接我的處理程序中的文件?
我看到2種方法來做到這一點(但他們繼承了相同的想法)。
這個想法是基於你應該有東西像sessionId
參數的東西。該值對於每組文件都應該是唯一的。你可以使用javascript
uuid
發電機或類似的東西等等。
此外,這個sessionId
變量可能會通過查詢字符串(稍微修改您的處理程序url):~/UploadHandler.ashx?sessionId={whatever}
或作爲post參數(猜測,更好的方法)傳遞。 可以通過使用例如context.Request["SessionId"]
在服務器端檢索該值。
在客戶端,您應該可以動態更改發佈參數或處理程序url。它可以通過使用來完成:
void addPostParam(name, value)
的addPostParam功能增加了 名稱/值對將在 要發送的POST對上傳的所有文件。
在post_params設置中,名稱/值對也會出現 。
或
void setUploadURL(url)
動態修改UPLOAD_URL 設置。
客戶端方法。他們應該從
fileDialogComplete(number of files selected, number of files queued, total number of files in the queued)
的fileDialogComplete事件觸發 文件選擇對話框窗口 已經關閉之後被調用,所有選擇 文件已被處理。的「文件數 排隊」參數指示 其從該對話框選擇(相 到的文件的數量在隊列中)排隊 文件的數目。
方法。
希望,這有助於。
@Alex:謝謝您的建議。我有一種感覺,這是我需要採取的方法,但希望有一些神奇:) – Chau 2010-03-19 09:17:02