2010-03-18 58 views
2

我需要用戶能夠上傳多個文件到我的服務器,因此我使用的是SWFUpload實用程序。 SWFUpload逐個發送文件,我需要將它們全部存儲在同一個臨時目錄中。我的ASP.NET處理程序逐個收到文件,我可以適當地存儲該文件。SWF上傳多個文件服務器端處理

我的問題是:如何知道哪些文件屬於同一上傳?換言之,我如何連接我的處理程序中的文件?

回答

2

我看到2種方法來做到這一點(但他們繼承了相同的想法)。

這個想法是基於你應該有東西像sessionId參數的東西。該值對於每組文件都應該是唯一的。你可以使用javascriptuuid發電機或類似的東西等等。

此外,這個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事件觸發 文件選擇對話框窗口 已經關閉之後被調用,所有選擇 文件已被處理。的「文件數 排隊」參數指示 其從該對話框選擇(相 到的文件的數量在隊列中)排隊 文件的數目。

方法。

希望,這有助於。

+0

@Alex:謝謝您的建議。我有一種感覺,這是我需要採取的方法,但希望有一些神奇:) – Chau 2010-03-19 09:17:02

相關問題