В моем проекте появилась страница, которая создает гостевых пользователей для ряда выбранных продуктов.В основном вы указываете приложению, сколько пользователей нужно создать для каждого выбранного вами продукта.
Когда вы нажимаете «Сохранить», я генерирую гостей, сохраняю их имя пользователя и пароль (до шифрования) в файле CSV, который я передаю наконец процесса и, наконец, перенаправление пользователя на страницу индекса.
Проблема возникает при передаче файла и последующем перенаправлении на новое действие:
Private Sub DownloadCsv(ByVal csv As List(Of String), ByVal filename As String)
Dim sb As New StringBuilder()
For Each Str As String In csv
sb.AppendLine(Str)
Next
' Clear any previous response
Response.Clear()
' Indicate we're returning a CSV file
Response.ContentType = "text/csv"
' Provide filename for download
Response.AddHeader("content-disposition", "attachment;filename=" & filename & ".csv")
' Write actual CSV data
Response.BinaryWrite(Encoding.ASCII.GetBytes(sb.ToString()))
End Sub
И в моемВ действии я вызываю этот метод DownloadCsv, а затем перенаправляю в индекс следующим образом:
Return (RedirectToAction("GroupIndex"))
Происходит страница, передающая файл в браузер и никогда не выполняющая перенаправления, которое следует.Я прочитал немного по этому вопросу и обнаружил, что как только вы добавите заголовок к нашему объекту ответа и напишите файл, он автоматически закроет ответ.Если я не прав, поправьте меня.
Как я могу сделать возможным передачу этого файла после того, как пользователь будет перенаправлен в указатель или перенаправлен в указатель после того, как он сохранит или отменит загрузку файла?