Загрузить файл в базу данных SQL, используя классический ASP - PullRequest
3 голосов
/ 16 марта 2009

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

Вот что происходит в моей форме ASP:

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

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

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

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

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

Спасибо, Клэр

Ответы [ 8 ]

2 голосов
/ 28 апреля 2009

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

2 голосов
/ 23 марта 2009

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

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

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

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

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

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

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

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

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

Удачи!

1 голос
/ 23 октября 2009

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

Будет ли это хорошей идеей или нет, я оставлю это другим, поскольку в этой недавней теме были споры об этом *1005*.

1 голос
/ 22 марта 2009

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

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

1 голос
/ 16 марта 2009

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

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

0 голосов
/ 23 октября 2009

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

текст ссылки

0 голосов
/ 22 марта 2009

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

0 голосов
/ 22 марта 2009

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

...