【问题标题】:What are the Steps to Upload a Document File from Windows Application to SQL Server DB?将文档文件从 Windows 应用程序上传到 SQL Server DB 的步骤是什么?
【发布时间】:2010-07-04 13:21:16
【问题描述】:

这是我的步骤:

  1. 通过拖动文本框然后在其旁边的按钮手动创建控件 我认为这不是正确的方法。示例:

知道我应该使用哪个控件吗?

2. 列的数据类型(在 sql-server 中)是 varbinary(MAX),它将保存文档文件。这是保存文档的正确数据类型吗?

3.在我的应用程序中,我将有一个临时变量来保存上传/选择 文档,然后我将文档传递给数据库。我应该使用什么数据类型 这个临时变量(将保存 .pdf 类型的文档文件)。

我正在使用 c# Windows 应用程序。

谢谢

【问题讨论】:

  • Windows 应用程序?您已使用 ASP.NET 对其进行了标记。两者都是完全不同的技术。
  • 感谢您通知我。我改了。

标签: c# .net sql-server vb.net


【解决方案1】:

除非您有令人信服的理由将文档直接存储在数据库中,否则我会重新考虑您的策略。是的,它可以做到,但它并不总是最好的方法。在我看来,通常最好将文档/图像存储在文件系统/文件夹中,然后仅将有关文件的元数据存储在数据库中。

您可能有很好的理由要这样做,但请确保理由充分。有一些好处,但也有很多缺点。

【讨论】:

  • 我明白了。这是我第一次处理文件。目前,我只是希望项目完成,稍后我会寻找更好的解决方案
  • 如果是这样的话,我会先用文件系统的方式进行存储,以后有需要的时候再升级为直接在数据库中存储文件。
  • 如果windows应用程序正在与远程db交互,db如何定位文件在文件系统中的位置?就我而言,具有文档文件的文件系统不会在 db 机器中,这就是我想将文件直接放入 db 的原因。如果您能给我提供有助于实现您所说的内容的良好资源,我将不胜感激。谢谢
  • 我会有一个至少包含文件路径的表(我还存储上传日期、关键字、用户 ID、描述等),因此您的应用程序会调用数据库以获取文件的文件路径,然后应用程序将知道文件的位置。在我的例子中,对于一个 asp.net 应用程序,它会映射到网络服务器上的一个文件。如果这不是一个网络应用程序,那么文件最有可能存储在文件服务器上。我还为每个文件创建了一个 guid,并在保存到服务器之前将其用于保证唯一的文件名。该 guid 将是您在 sql 表中的关键字段。
【解决方案2】:
  1. 使用FileUpload control

  2. 是的

  3. byte[] 或stream

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    相关资源
    最近更新 更多