我需要用户能够上传多个文件到我的服务器,因此我使用的是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