我正在尝试将文件(.doc / .pdf)上传到SQL数据库(2005),但我真的很难找到任何一步一步的指南。
这是在我的ASP表单上发生的事情:
但是它也需要存储在数据库字段中。
我已将数据库中的字段类型设置为Image。但我不确定如何保存二进制数据信息,而我真正拥有的只是来自用户的文档链接(例如C://)。
我也希望能够在以后下载此文档,这也是可能的吗?
提前感谢您的帮助。
谢谢Clare
答案 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)
这是一个链接,向您展示如何将文件上传到数据库。我有它工作,现在我只需要弄清楚如何检索它。