我需要用户能够将多个文件上传到我的服务器,因此我使用SWFUpload
实用程序。 SWFUpload逐个发送文件,我需要将它们全部存储在同一个临时目录中。我的ASP.NET
处理程序逐个接收文件,我可以适当地存储文件。
我的问题是:我如何知道哪些文件属于同一个上传?重新说明,我如何连接处理程序中的文件?
答案 0 :(得分: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事件 在“文件选择对话框”窗口之后 已经关闭并且所有选中 文件已被处理。数字 排队的文件'参数表示 排队的文件数 从对话框选择(相反 到队列中的文件数量。)
方法
希望,这有帮助。