2009-04-21 44 views
1

我有一个包含FileUpload控件的页面之一的Wizard控件。我想在向导最后一页的位置访问文件流,但这似乎不起作用。ASP.NET FileUpload控件不能在向导控件中工作

据我所见,您只能访问使用控件后立即发生的回发上的发布文件的文件流。由于该文件最终会放入数据库记录中,因此我现在可以将其保存起来,但如果可能的话,我宁愿避免这种情况。

有没有人知道这个问题的解决方法?

回答

3

我自己没有使用过这个控件,但是因为它基于HTML标准的INPUT控件,所以我认为你不得不在收回后处理该控件的文件时收到该文件。

避免这种情况的难点在于如何从本地文件系统对沙盒进行有效的沙盒操作时从客户端系统中提取文件,因此需要进行上传控制。

我建议您将文件存储到您的数据库blob(或作为文件系统上的临时文件,可能需要一个唯一的文件名;我发现一个GUID很好地工作),然后使用Session对象来保留该引用过程的结束。我能想到的唯一另一种替代方案并不涉及主要工作,那就是将文件上传移动到向导的最后一页。

2

您可以使用CSS/jQuery显示您的个人向导阶段托管的客户端,而不是将POST张贴回服务器?这样,您唯一的POST(导致上传)将位于向导的末尾。

+0

良好的横向思维,很好的答案。 – Lazarus 2009-04-21 12:55:56