danila_net
@danila_net
Изучаю CLR, C#, ASP.NET

Как пользователю сохранить созданный файл?

Приложение написано на .net core MVC. В контроллере я создаю файл docx.
как мне сделать чтобы у пользователя по нажатию по кнопке он сохранялся?
Controler:
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "C:/Install/ReportHealth.docx");
            FileStream fs1 = new FileStream(path, FileMode.OpenOrCreate);
            string file_type = "text/plain";
            string file_name = "Отчет по оздоровлению_" + DateTime.Now.ToString("d") + ".docx";

            return File(fs1, file_type, file_name);


JS
$.ajax({
        url: "/Home/ReportDocx",
        type: "POST",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(data),
        dataType: "html",
        success: function (result) {            
        },
        error: function (errormessage) {
            alert(errormessage.responseText);
        }
    });
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
AshBlade
@AshBlade
Просто хочу быть счастливым
На SO уже есть ответ (ссылка) - он в нижнем примере.

Подробнее:
1. Файл отправляется в теле HTTP. Обычно закодирован base64.
2. В заголовке "Content-Disposition" может быть название файла (самого заголовка может не быть)
3. Когда браузер принимает файл, то создает свою внутреннюю ссылку на него. Тебе нужно создать свою ссылку (URL.createObjectURL). Потом создаешь тег с полученным URL и "кликаешь" на него (либо п...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы