使用经典ASP将文件上载到SQL数据库

时间:2009-03-16 13:38:08

标签: sql-server asp-classic upload

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

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

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

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

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

我也希望能够在以后下载此文档,这也是可能的吗?

提前感谢您的帮助。

谢谢Clare

8 个答案:

答案 0 :(得分:2)

如前所述 - 在数据库中存储二进制数据通常不是一个好主意。

将文件存储在磁盘上是不是很好,文件表id / PK成为文件名,只存储数据库中的文件名/ id,原始文件名和文件描述?

这可以解决您的大多数问题:

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

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

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

如果你真的需要一个文档链接,在我看来,这是更好的解决方案。

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

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

祝你好运!

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

Classic ASP没有内置的文件上传支持,因此您需要在服务器上使用上传组件。对于大多数部分,上传组件中包含示例,显示如何直接上载到数据库中。

答案 3 :(得分:1)

你自己不能用经典的ASP本身做这件事,但你可以花200美元购买ASPUpload为你做。如果你检查他们的网站,它看起来好像很久没有更新,但那是因为它们都没有经典的ASP,呵呵。

我自己在2001 - 2005年使用它来上传经典ASP的图像,文档等。它易于使用,易于入门,效果很好。两个竖起大拇指。

答案 4 :(得分:1)

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

这是否是一个好主意我会留给其他人,因为对in this recent thread有一些争论。

答案 5 :(得分:0)

我已成功使用FreeASPUpload作为您的第一个要求 我认为一旦找到正确的答案,上传到SQL将非常简单。令人遗憾的是,我自己没有那块拼图。

答案 6 :(得分:0)

我大约七年前使用ASP退出了,但我记得我当时有一些pure ASP code来完成这个任务。我链接到的代码正是我在2001年的项目中使用它的方式。这个类本身不是由我编写的,而是在网上找到的(似乎它附带了一个名为Sagasnet webstudio的东西)。这个例子是我的,而不是我最近为此感到骄傲的东西。希望它有所帮助。

答案 7 :(得分:0)

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

link text