Загрузка по FTP в .net - в некоторых браузерах неверный путь к файлу - PullRequest
0 голосов
/ 21 января 2012

Я создаю приложение, которое включает в себя запись некоторых полей в базу данных, а также загрузку некоторых файлов от конечного пользователя на сайт FTP. Загрузка файлов работает нормально ... в IE. В Firefox и Chrome я получаю сообщение об ошибке, что он не может найти файл (в данный момент он запускается на локальном хосте, пока не перенес его в dev или рабочую среду).

Я попытался получить файл через:

Server.MapPath(FileUpload1.PostedFile.Filename) 

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

А также:

Path.GetFullPath(FileUpload1.PostedFile.Filename) 

... который указывает на c: // Programs (x86) / ... ...

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

Любые идеи о том, как сделать эту точку в нужном месте? Или он будет работать правильно, если он находится в серверной среде?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 21 января 2012
FileUpload.PostedFile.FileName

Это фактически дает вам путь к загруженному файлу.

Но во всех более новых браузерах (серия FF 3.6, Chrome, IE7 +) эта функция была отключена по соображениям безопасности.Любой веб-сайт не должен нуждаться в пути к файлу, хранящемуся в клиентских системах, поскольку он дает структуру каталогов и может предоставлять владельцу веб-сайта другие важные вещи.

Так что в вашем случае приведенный выше код возвращает только имя файла.

Вы можете проверить эту ссылку, она может вам помочь Контроль загрузки файла - проблема полного пути

0 голосов
/ 21 января 2012

FileUpload.PostedFile.Filename работает по-разному в каждом браузере.в Firefox и Chrome он не будет включать полный путь - только имя файла.Это зависит от браузера вашего клиента.

...