3

我正在尝试将文件 (.doc/.pdf) 上传到 SQL 数据库 (2005),但我真的很难找到任何分步指南。

这是我的 ASP 表单上发生的情况:

  • 用户选择一个文档
  • 文档当前上传到临时文件并发送到电子邮件地址

但是,它也需要存储在数据库字段中。

我已将数据库中的字段类型设置为 Image。但是当我真正拥有的只是来自用户的文档链接(例如 C://)时,我不确定如何保存二进制数据信息。

我也希望以后能下载这个文件,这也可以吗?

预先感谢您的任何帮助。

谢谢克莱尔

4

8 回答 8

2

当然,使用freeaspupload上传文件。它很容易使用。上传文件后,您需要二进制读取文件,然后将该二进制流写入您的数据库。该网站似乎有一个您正在尝试做的工作示例。查看代码并找出您需要的部分。

于 2009-04-28T16:51:17.353 回答
1

正如之前提到的——在数据库中存储二进制数据通常不是一个好主意。

将文件存储在磁盘上还不够好,其中文档表 id/PK 成为文件名并仅在数据库中存储文件名/id、原始文件名和文件描述?

这将解决您的大部分问题:

  • 以简单的方式存储/生成文档链接。

  • 轻松下载(只需链接到磁盘上的文件)。

这也防止了快速增长的数据库大小以及编写和维护额外代码来存储、搜索和提供存储在数据库中的文档的问题。

如果您真的只需要一个链接来记录,我认为这是更好的解决方案。

是来自 Microsoft 支持站点的 VB6 代码,它将上传的文件保存到 Web 服务器上的文件中。

目前它没有做你想做的事(将上传的文件存储在磁盘上,而不是在数据库中),但我希望修改它不会很难。

祝你好运!

于 2009-03-23T10:53:12.363 回答
1

你不能自己用经典的 ASP 来做这件事,但你可以花 200 美元购买ASPUpload来为你做这件事。如果你查看他们的网站,它似乎已经有一段时间没有更新了,但那是因为它们都没有经典的 ASP,呵呵。

早在 2001-2005 年,我自己就用它来用经典的 ASP 上传图像、文档等。它易于使用,易于上手,而且效果很好。太棒了。

于 2009-03-22T13:28:11.047 回答
1

(在数据库中存储二进制数据通常是个坏主意。)

经典 ASP 没有对文件上传的内置支持,因此您需要在服务器上安装上传组件。对于大多数部分,上传组件中包含示例,展示了如何直接上传到数据库中。

于 2009-03-16T15:14:26.270 回答
1

我之前使用过 CodeProject 中的“ Advanced ASP Uploader ”。这将帮助您将文件发送到服务器。然后,您只需将字节存储在数据库中。

这是否是一个好主意,我将留给其他人,因为在最近的这个线程中对此进行了一些辩论。

于 2009-10-23T15:31:32.187 回答
0

我已成功使用FreeASPUpload满足您的第一个要求。
我认为一旦找到正确的答案,上传到 SQL 将相当简单。很遗憾,我自己没有这块拼图。

于 2009-03-22T13:34:30.580 回答
0

大约七年前我放弃了使用 ASP,但我记得当时我有一些纯 ASP 代码来完成这件事。我链接到的代码正是我在 2001 年的项目中使用它的方式。该类本身不是我编写的,而是在网上某个地方找到的(似乎它附带了一个名为 Sagasnet webstudio 的东西)。这个例子是我的,而这并不是我最近引以为豪的事情。希望能帮助到你。

于 2009-03-22T13:39:07.777 回答
0

这是一个链接,向您展示如何将文件上传到数据库。我有它的工作,现在我只需要弄清楚如何检索它。

链接文本

于 2009-10-23T15:22:46.483 回答