2

我需要用户能够将多个文件上传到我的服务器,因此我正在使用该SWFUpload实用程序。SWFUpload 将文件一个一个发送,我需要将它们全部存储在同一个临时目录中。我的ASP.NET处理程序一一接收文件,我可以适当地存储文件。

我的问题是:我怎么知道哪些文件属于同一个上传?换个说法,我如何连接处理程序中的文件?

4

1 回答 1

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 事件在文件选择对话框窗口关闭并且所有选定文件都已处理后触发。“排队的文件数”参数表示从对话框选择排队的文件数(与队列中的文件数相反)。

方法。

希望这可以帮助。

于 2010-03-18T20:38:17.587 回答