【问题标题】:Problem with saving attached files using FileUpload control in ASP.NET在 ASP.NET 中使用 FileUpload 控件保存附件的问题
【发布时间】:2011-07-30 01:14:37
【问题描述】:

在我的网站中,我有一个主页,通过单击图像按钮,我会被重定向到不同的 .apsx 页面。该页面由 FileUpload 控件和 2 个按钮(ATTACH、CANCEL)组成。当用户从他的本地机器中选择/浏览一个文件并单击 ATTACH 按钮,我在 GRIDVIEW 中显示该文件,并将该文件的详细信息(如文件名)推送到数据表中。

用户以这种方式可以浏览多个文件,并将它们全部添加到 GridView 并推送到 DATATABLE。现在,当用户单击 CANCEL 按钮时,我将会话对象中的整个 DATATABLE 发送到 HOME 页面。单击主页中的“保存”按钮,DATATABLE 中的文件必须存储在我在代码中提到的物理位置。

我面临的问题是,当我写 文件上传 fl=新文件上传;

fl.SaveAs(dt["fileName"]);

文件根本没有保存在该位置。

但是,如果我使用第二页中的 Session 传递 FileUpload 控件,

FileUpload fl=(FileUpload)Session["FileUpload"]

文件正在以正确的文件名保存,但所有文件的内容都包含最新上传文件的内容。我知道问题出在哪里,但无法获得解决方案。

我的要求是仅在单击主页中的“保存”按钮后将文件保存在物理路径中。请建议我..提前谢谢!

【问题讨论】:

    标签: asp.net session file-upload datatable


    【解决方案1】:

    我相信 asp.net FileUpload 控件一次只支持上传一个文件。这就是为什么您只能看到最后一个文件的内容。您需要为每次上传创建单独的控件、滚动您自己的控件或使用第 3 方供应商控件。

    【讨论】:

    • 非常感谢您的回复。是的,我知道 FileUpload 只允许上传单个文件,但我只想确认是否有任何其他附加代码/逻辑可以使它为我工作..或不把Session变量中的FileUpload控件传给首页能做到吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2023-03-08
    相关资源
    最近更新 更多