Мои извинения, если я пропустил все применимые ответы во время моего поиска.
Мой сайт asp.net отправляет пользователю электронное письмо со ссылкой. Trustwave добавляет некоторую информацию обертки вокруг ссылки перед доставкой электронной почты. Пользователь щелкает ссылку, аутентифицируется и перенаправляется на соответствующий контент. Если пользователь A переходит на docs.aspx, выбирает PDF и загружает, PDF поврежден, когда пользователь A открывает PDF. Сайт не создает PDF, он был загружен пользователем B.
Но , если пользователь A вручную просматривает сайт, аутентифицируется, переходит на docs.aspx и загружает PDFне поврежденВ обоих случаях используется одна и та же аутентификация, doc.aspx, code-behind и PDF.
Выполнение кода затруднительно, потому что я не знаю, как создать (защищенную Trustwave) ссылку электронной почты в моей тестовой среде.
Можете ли вы предложить дополнительные способы устранения неполадок? Файл PNG работал в обоих случаях, но я не хочу ограничивать типы файлов, которые пользователь B может загружать. Размер файла PDF составляет 11 КБ, и я использую современный веб-браузер Chrome. Приветствуются простые подробные ответы и примеры.
Вот метод doc.aspx:
For Each i As ListItem In Me.FileListbox.Items
If i.Selected Then
Response.Clear()
Response.AppendHeader("Content-Disposition", "attachment; filename=" & i.Text)
DownloadFile = Server.MapPath("documents") & i.Text
Select Case Right(i.Text, 3)
Case "doc"
Response.ContentType = "application/msword"
Case "jpg"
Response.ContentType = "image/jpeg"
Case "pdf"
Response.ContentType = "application/pdf"
Case "png"
Response.ContentType = "image/png"
Case "xls"
Response.ContentType = "application/vnd.ms-excel"
Case "zip"
Response.ContentType = "application/zip"
Case Else
Response.ContentType = "application/octet-stream"
End Select
Response.TransmitFile(DownloadFile)
Response.End()
End If
Next