2013-08-15 3 views
-5

Я использую функцию FileUpload.SaveAs() для загрузки файлов на сервер, но я хочу сохранить файлы на другом разделе. Скажем, сохраните файлы на Диске D сервера вместо этого на текущем диске, который является Диском C. Поделитесь своими мыслями. Спасибо заранее.C# Загрузка файлов на другой раздел сервера

я узнал, что, используя полный путь, такой как

FileUpload.SaveAs("D:\FileUpload"); 

сохранит файл вне веб-сервера.

Проверьте this.

Чтобы упростить вопрос, как загрузить файлы на другой раздел сервера, на котором размещено мое веб-приложение?

+0

Are у вас есть конкретная проблема? Если да, пожалуйста, покажите свой код и сообщите нам подробности проблемы, с которой вы столкнулись. –

+0

Тогда конкретный другой путь .... – musefan

+0

Если я просто укажу другой путь. Он будет экономить за пределами сервера. Он загружается на клиентский компьютер. – abc

ответ

0

Решенный это с помощью виртуального каталога IIS и обеспечения администратора учетных данных для аутентификации

0

На основании документации от http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.saveas.aspxString filename - полное имя пути для сохранения. Это значит, что вы должны это сделать, например:

FileUpload.SaveAs("D:\where_you_want_to_save") 

Кстати, что вы пробовали и какую ошибку вы получили?

+0

Нет ошибок, но он просто сохранит на клиентском компьютере, а не на сервере. – abc

+0

Вам нужно предоставить нам больше информации, так как этого не должно произойти. Где находится метод? – zulq

+0

Ваш код сохранит файлы только в каталоге текущего компьютера, на котором запущено приложение. Он должен быть сохранен на другом разделе сервера, на котором размещено веб-приложение. – abc

0

Если посмотреть на example on MSDN, то окажется, что .SaveAs() принимает полное имя файла в качестве параметра. Вы могли бы потенциально использовать Path объект чисто построить путь для файла, или просто указать один непосредственно в виде строки:

uploader.SaveAs("d:\\someFolder\\someFile.ext"); 
+0

Если я просто укажу другой путь. Он будет экономить за пределами сервера. Он загружается на клиентский компьютер. – abc

+0

Ваш код сохранит файлы только в каталоге текущего компьютера, на котором запущено приложение. Он должен быть сохранен на другом разделе сервера, на котором размещено веб-приложение. – abc

+0

@rbenitez: Опять же, как и в комментариях выше, «текущий компьютер, на котором запущено приложение» *, - это «сервер, на котором размещается приложение». Независимо от того, какой компьютер * работает с кодом *, это сервер. Сервер не делает, * не может по дизайну *, сохранить файл клиенту. Веб-серверы не могут писать в локальную файловую систему веб-клиента. HTTP не работает. – David

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