我正在尝试将文件 (.doc/.pdf) 上传到 SQL 数据库 (2005),但我真的很难找到任何分步指南。
这是我的 ASP 表单上发生的情况:
- 用户选择一个文档
- 文档当前上传到临时文件并发送到电子邮件地址
但是,它也需要存储在数据库字段中。
我已将数据库中的字段类型设置为 Image。但是当我真正拥有的只是来自用户的文档链接(例如 C://)时,我不确定如何保存二进制数据信息。
我也希望以后能下载这个文件,这也可以吗?
预先感谢您的任何帮助。
谢谢克莱尔
我正在尝试将文件 (.doc/.pdf) 上传到 SQL 数据库 (2005),但我真的很难找到任何分步指南。
这是我的 ASP 表单上发生的情况:
但是,它也需要存储在数据库字段中。
我已将数据库中的字段类型设置为 Image。但是当我真正拥有的只是来自用户的文档链接(例如 C://)时,我不确定如何保存二进制数据信息。
我也希望以后能下载这个文件,这也可以吗?
预先感谢您的任何帮助。
谢谢克莱尔
当然,使用freeaspupload上传文件。它很容易使用。上传文件后,您需要二进制读取文件,然后将该二进制流写入您的数据库。该网站似乎有一个您正在尝试做的工作示例。查看代码并找出您需要的部分。
正如之前提到的——在数据库中存储二进制数据通常不是一个好主意。
将文件存储在磁盘上还不够好,其中文档表 id/PK 成为文件名并仅在数据库中存储文件名/id、原始文件名和文件描述?
这将解决您的大部分问题:
以简单的方式存储/生成文档链接。
轻松下载(只需链接到磁盘上的文件)。
这也防止了快速增长的数据库大小以及编写和维护额外代码来存储、搜索和提供存储在数据库中的文档的问题。
如果您真的只需要一个链接来记录,我认为这是更好的解决方案。
这是来自 Microsoft 支持站点的 VB6 代码,它将上传的文件保存到 Web 服务器上的文件中。
目前它没有做你想做的事(将上传的文件存储在磁盘上,而不是在数据库中),但我希望修改它不会很难。
祝你好运!
你不能自己用经典的 ASP 来做这件事,但你可以花 200 美元购买ASPUpload来为你做这件事。如果你查看他们的网站,它似乎已经有一段时间没有更新了,但那是因为它们都没有经典的 ASP,呵呵。
早在 2001-2005 年,我自己就用它来用经典的 ASP 上传图像、文档等。它易于使用,易于上手,而且效果很好。太棒了。
(在数据库中存储二进制数据通常是个坏主意。)
经典 ASP 没有对文件上传的内置支持,因此您需要在服务器上安装上传组件。对于大多数部分,上传组件中包含示例,展示了如何直接上传到数据库中。
我之前使用过 CodeProject 中的“ Advanced ASP Uploader ”。这将帮助您将文件发送到服务器。然后,您只需将字节存储在数据库中。
这是否是一个好主意,我将留给其他人,因为在最近的这个线程中对此进行了一些辩论。
我已成功使用FreeASPUpload满足您的第一个要求。
我认为一旦找到正确的答案,上传到 SQL 将相当简单。很遗憾,我自己没有这块拼图。
大约七年前我放弃了使用 ASP,但我记得当时我有一些纯 ASP 代码来完成这件事。我链接到的代码正是我在 2001 年的项目中使用它的方式。该类本身不是我编写的,而是在网上某个地方找到的(似乎它附带了一个名为 Sagasnet webstudio 的东西)。这个例子是我的,而这并不是我最近引以为豪的事情。希望能帮助到你。
这是一个链接,向您展示如何将文件上传到数据库。我有它的工作,现在我只需要弄清楚如何检索它。