Как сохранить путь/местоположение папки

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

введите здесь описание изображения

Я знаю, что для сохранения файла я мог бы использовать <asp:FileUpload runat="server" ID="file" /> Но мне просто нужно зафиксировать путь к папке, а не сохранять файл. Как это сделать в asp.net? Затем позже, когда я сохраню файл, у меня будет место, куда файл должен перейти.


person user123456789    schedule 08.12.2015    source источник
comment
ммм, я не помню элемента управления с такой функциональностью, но, возможно, вы могли бы создать свой собственный пользовательский элемент управления (попробуйте с текстовым полем, файловым проводником/браузером и кнопкой)   -  person luis_laurent    schedule 08.12.2015
comment
что это за контроль? это FileUpload или что-то еще. если это FileUpload, вы можете сделать что-то вроде этого Server.MapPath(FileUpload1.FileName);   -  person hud    schedule 08.12.2015
comment
@coder Я не хочу сохранять файл. Я просто хочу сохранить местоположение папки   -  person user123456789    schedule 09.12.2015
comment
Нет смысла сохранять расположение папки клиента в веб-приложении, так как у вас нет доступа к этой папке каким-либо образом.   -  person CodeCaster    schedule 09.12.2015
comment
Тщательно подумайте о том, где работает ваш код. Chrome работает локально на компьютере пользователя с прямым доступом к файловой системе. Веб-сайт ASP работает на вашем сервере. Он получает данные отправки с локального компьютера пользователя, но это ограничено подмножеством, которое браузерам разрешено отправлять на основе ограничений безопасности. В этом контексте даже не имеет смысла выбирать место для загрузки, если только вы не говорите о локальном приложении, которое может записывать файлы в это место, чего не может ваш веб-сайт.   -  person xan    schedule 09.12.2015
comment
@CodeCaster Я просто хочу получить местоположение папки. Поэтому, если я выберу папку с документами на своем компьютере, я хочу сохранить выбранный путь.   -  person user123456789    schedule 09.12.2015
comment
Вы не можете выбрать из серверного кода, где файл будет сохранен на клиенте. Он работает на вашей машине разработки, потому что эта машина является и сервером, и клиентом, поэтому они используют одну и ту же файловую систему. После развертывания на реальном сервере ваш код больше не будет работать.   -  person CodeCaster    schedule 09.12.2015
comment
@CodeCaster Файл, который сохранит пользователь, сохраняется на его локальном компьютере, а не на сервере.   -  person user123456789    schedule 09.12.2015
comment
Опять же, вы не можете контролировать, где файлы будут сохраняться на клиенте. Это просто не то, как работают HTTP и браузеры.   -  person CodeCaster    schedule 09.12.2015


Ответы (1)


Я думаю, это поможет вам сначала импортировать windows.forms на страницу asp.net (aspx.cs).

using System.Windows.Forms;

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

   SaveFileDialog my_Sfd1 = new SaveFileDialog();
        my_Sfd1.Filter = "All files (*.*)|*.*";    //here you can specify the file format.(*.*)indicates all files.
        my_Sfd1.Title = "Save file to";   //Title to display at top of the dialog box
        my_Sfd1.FilterIndex = 2;
        my_Sfd1.RestoreDirectory = true;
        if (DialogResult.OK == (new Invoker(my_Sfd1).Invoke()))
        {
                //add file here which you want to save.
        }
person Sai Venkat    schedule 08.12.2015
comment
спасибо за ответ, но я не хочу сохранять файл. Я просто хочу сохранить местоположение папки - person user123456789; 09.12.2015
comment
импортировать windows.forms на страницу asp.net (aspx.cs) — как вы думаете, что это делает? - person CodeCaster; 09.12.2015
comment
некоторые элементы управления не будут находиться в панели инструментов, поэтому, импортируя windows.forms, мы также можем включить элементы панели инструментов форм, если мы удалим этот заголовочный файл, это вызовет ошибку, если я неправильный, пожалуйста, ответьте на правильный ответ. - person Sai Venkat; 09.12.2015
comment
Вы не можете использовать элементы управления WinForms в веб-приложении. - person CodeCaster; 09.12.2015