【问题标题】:How to go about a file upload in a Web Application (ASP.Net, C#, IIS)如何在 Web 应用程序(ASP.Net、C#、IIS)中进行文件上传
【发布时间】:2009-10-30 20:44:39
【问题描述】:

要求:

  1. 在我们的 Web 应用程序的网页上,我们需要上传文件。该文件最有可能是 pdf(pdf 文件的表单字段由用户填写),或用户扫描表单的压缩格式的扫描 jpeg/tiff/gif 文件。
  2. 文件大小可能为 3-7Mb。
  3. 该文件将作为 BLOD 存储在 Oracle 数据库中

系统信息:

  1. Windows Server 2003
  2. IIS 6.0
  3. 带有 Ajax 控制工具包的 ASP.Net/C# 3.5

问题:

  1. 是否有现成的 AJAX 控件来处理这种类型的文件上传。首选 AJAX 控件,但非 AJAX 也可以。
  2. 是否有任何 .Net 组件可用于检查文件有效性。我们的支票将主要针对pdf。或者,我们可能希望允许 jpeg/tiff/gif/png - 任何组件来检查这些文件类型?
  3. 从安全角度来看,是否有任何防病毒组件可以从 .Net 代码中调用来检查文件是否有病毒?

任何从事类似功能的人都可以分享他们的经验吗?

提前致谢

-莫伊兹

【问题讨论】:

    标签: c# asp.net ajax file-upload antivirus


    【解决方案1】:

    1) 看看http://www.uploadify.com/

    2) 上述组件有文件大小/扩展测试

    3) 您应该在您的网络服务器上安装防病毒软件。

    【讨论】:

      【解决方案2】:

      http://swfupload.org/ 是一个基于 Flash 的异步文件上传组件,非常容易实现和与 ASP.Net 集成(因为上传的文件来自 Request.Files[] 集合)。

      它还提供客户端文件大小和扩展测试。您仍然希望在服务器上验证文件扩展名等,因为验证是处理 JavaScript 属性并且可能会被绕过(还没有看到任何无法绕过的与 JavaScript 相关的上传工具)。

      一些防病毒供应商提供 API 来扫描内存或特定文件;但是,我已经看到很多地方将文件放到一个目录中,该目录使用这种类型的扫描而不是通过 api 进行持续监控和处理。

      【讨论】:

        【解决方案3】:

        看看http://ajaxuploader.com/ 还可以考虑 Silverlight 解决方案,例如 http://www.codeplex.com/SilverlightFileUpld 基于 Flash 的上传器(如 YUI2 Uploader,http://developer.yahoo.com/yui/uploader/)与 Silverlight 相比存在一些限制,因为 Flash 的最新版本提高了安全性。例如,您不能从客户端 JavaScript 弹出文件选择对话框。

        【讨论】:

          【解决方案4】:

          ASP.Net AJAX 工具包现在有一个Async File Upload control

          这个控件是在我们已经在生产中实现我们的需求之后发布的(没有异步文件上传)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-01-03
            • 2020-08-04
            • 1970-01-01
            • 1970-01-01
            • 2011-12-12
            • 1970-01-01
            • 2020-12-19
            • 1970-01-01
            相关资源
            最近更新 更多