Диалог «Сохранить как» перед загрузкой - PullRequest
0 голосов
/ 22 мая 2018

У меня есть функция в контроллере, которая загружает конфигурации:

public FileStreamResult SaveData()
{
    var toJson = JsonConvert.SerializeObject(this.GetData());
    var byteArray = System.Text.Encoding.ASCII.GetBytes(toJson);
    var stream = new MemoryStream(byteArray);
    string fileName = "Configuration.json";
    this.GetData().Save = false;
    return new FileStreamResult(stream, "text/html")
    {
        FileDownloadName = fName
    };
}

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

Я посмотрел несколько источников, но не могу найти что-то, что будет применимо.Кто-нибудь может подсказать, как это сделать?

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

1 Ответ

0 голосов
/ 22 мая 2018

Различные браузеры ведут себя по-разному в отношении отображения диалогового окна «Сохранить как».Единственный способ получить какой-либо контроль - не давать браузеру подсказки относительно типа данных или имени файла.В этих случаях браузеры не имеют другого выбора, кроме как запросить у пользователя имя файла.

Заменить «text / html» на «application / octet-stream».здесь написано: «Вот куча байтов, но я не знаю, что они представляют».

Удалите FileDownloadName.Если у браузера нет имени, ему нужно будет запросить его.

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

...