Как указать локальный путь к файлу для пользователя вне каталога веб-приложения? - PullRequest
0 голосов
/ 12 октября 2018

Я создаю веб-приложение ASP.NET MVC, которое сериализует файлы JSON для вводимой пользователем информации.Базовый шаблон, которому я следовал, работает следующим образом:

string jsonData = JsonConvert.SerializeObject(rootObject);
string path = Server.MapPath("~/App_Data/");
System.IO.File.WriteAllText(path + ticket.TicketNumber + ".json", jsonData);
TempData["msg"] = " Json file Generated! Json files generated here can be found in *** ";
return RedirectToAction("Index");;

Когда я начал пытаться выяснить, как добавить метод для ввода пользователем данных, где он хотел бы сохранить свой файл локально (дляэто простой способ проверить файл в TFS, а не перемещать файл из папки данных приложения в нужную папку). Я понял, что это работает только в каталоге веб-приложения.Есть ли что-то кроме Server.MapPath ();что я могу использовать, чтобы указать местоположение на диске C: \ пользователя или нет?

1 Ответ

0 голосов
/ 12 октября 2018

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

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

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

Существуют и другие способы загрузки файла.Проверьте метод File класса Controller для получения более подробной информации.

...