2

我有一个Flash上​​传组件我想用来上传多个文件。我在MVC应用程序中使用它,我想要发生的是用户选择他们想要上传的文件,上传它们,然后显示一个页面,显示他们上传的所有文件,以便他们可以添加描述并选择在哪里保存它们,然后保存这些文件。Flash上​​传器和ASP.net MVC

在文件上传的瞬间,flash组件调用控制器来处理文件,这个位工作正常,我可以获取上传的文件并按照我喜欢的方式进行操作。问题在于,一旦控制器完成工作,我不能只重定向到一个View,因为它的Flash组件调用控制器,而不是页面,因此当您尝试这样做时没有任何反应。

我曾尝试保存会话中的文件,然后使用Flash动作脚本中的某些代码完成上传时转发用户,但这不起作用,会话始终变为空。我也考虑将文件实际保存到临时位置,然后在显示页面上列出临时位置中的所有文件,但这会涉及将文件保存两次,一次保存到临时目录,然后保存到实际位置用户想要放置它们,我认为这会很慢。

有关最佳方式的任何想法?

回答

0

您的网站使用基于cookie的身份验证?如果是这样,那么Flash上​​传器需要在上传时包含身份验证cookie,否则上传将被视为来自新用户 - 这将解释会话状态中的空值。如果您无法使用Flash发布Cookie,则必须在上传网址中标识用户。

你应该保持会话状态到最低限度,甚至最好不要使用,因此存储大量数据,如图像是一个坏主意。

通过我们的应用程序,我们将所有上传的文件保存到数据库,然后给它们一个独特的Guid,然后用它来稍后检索/显示它们。在数据库中,图像可能与用户相关联,并在您的情况下被标记为刚刚上传,因此当您将用户重定向到附加信息页面时,您知道要显示哪些图像。

但随后这是怎么回事 保存文件两次,一次在 temp目录,然后到实际 地方的用户希望把他们

关于在文件涉及保存在服务器上,您不应该让用户确定文件的保存位置。