2009-03-16 3 views
3

Я пытаюсь загрузить файлы (.doc/.pdf) в базу данных SQL (2005), но я действительно пытаюсь найти любые пошаговые руководства.Загрузить файл в базу данных SQL с помощью классического ASP

Это то, что происходит на моей ASP форме:

  • Пользователь выбирает документ
  • Документ в настоящее время загрузки во временный файл и отправлен на адрес электронной почты

Однако она также нуждается для хранения в поле базы данных.

Я установил тип поля в базе данных для изображения. Но я не уверен, как сохранить данные двоичных данных, когда все, что у меня есть, - это ссылка на документ (например, C: //) от пользователя.

Я также хочу, чтобы иметь возможность загрузить этот документ на более поздний срок, это также возможно?

Заранее благодарю за любую помощь.

Благодаря Clare

ответ

1

(Хранение двоичных данных в базе данных, как правило, плохая идея.)

Классический ASP не имеет встроенной поддержки для загрузки файлов, так что вам нужно compontent загрузки на сервер. Для большинства частей есть примеры, включенные в компонент загрузки, который показывает, как загружать непосредственно в базу данных.

1

Вы не можете сделать это самостоятельно с классическим ASP самостоятельно, но вы можете купить ASPUpload, чтобы сделать это за вас за 200 долларов. Если вы проверите их веб-сайт, похоже, что он не обновлялся довольно долго, но это потому, что у него нет классического ASP, хе-хе.

Я использовал это сам в 2001-2005 годах для загрузки изображений, документов и т.п. с помощью классического ASP. Он прост в использовании, легко начать работу и отлично работает. Два больших пальца вверх.

0

Я успешно использовал FreeASPUpload для вашего первого требования.
Я думаю, что загрузка на SQL будет довольно простой, как только вы найдете правильный ответ. К сожалению, у меня нет этой части головоломки.

0

Я вышел с использованием ASP около семи лет назад, но я помнил, что у меня было pure ASP code, чтобы выполнить это тогда. Код, с которым я связан, - это именно то, как я использовал его в своем проекте в 2001 году. Сам класс не был написан мной, но где-то был найден в сети (кажется, он поставляется с чем-то, называемым веб-студией Sagasnet). Пример мой, и не совсем то, чем я горжусь этими днями. Надеюсь, поможет.

2

Как уже упоминалось ранее - хранение двоичных данных в базе данных обычно не является хорошей идеей.

Не удалось бы сохранить файл на диске, где document id/PK становится именем файла и сохраняет только имя файла/id, исходное имя файла и описание файла в базе данных?

Это позволит решить большинство ваших проблем:

  • магазин/генерировать ссылки на документы в легком пути.

  • Простые загрузки (просто ссылку на файл на диске).

Это также предотвращает проблемы с быстро растущим размером базы данных и написанием и сопровождением дополнительного кода для хранения, поиска и обслуживания документов, хранящихся в базе данных.

Если вам действительно нужна только ссылка на документ, это, на мой взгляд, лучшее решение.

Here - это код VB6 с сайта поддержки Microsoft, который сохраняет загруженный файл в файл на веб-сервере.

В настоящее время он не делает то, что вы хотите (сохраняет загруженный файл на диске, а не в базе данных), но я надеюсь, что это не составит труда изменить это.

Удачи вам!

2

Определенно, используйте freeaspupload, чтобы загрузить файл. Он довольно прост в использовании. После того, как вы загрузите файл, вам нужно будет бинарно прочитать файл, а затем записать этот двоичный поток в ваш db. У этого website есть рабочий пример того, что вы пытаетесь сделать. Посмотрите на код и выясните, какие детали вам нужны.

0

Вот ссылка, показывающая, как загружать файлы в базу данных. У меня он работает, теперь мне просто нужно выяснить, как его получить.

link text

1

Я использовал этот "Advanced ASP Uploader" от CodeProject до сих пор. Это поможет вам получить файл на сервере. Тогда вам просто нужно сохранить байты в базе данных.

Является ли это хорошей идеей или нет, я оставлю другим, потому что в этом обсуждении было немного споров in this recent thread.

Смежные вопросы