У меня есть веб-сайт, на котором есть несколько PDF-файлов, которые предварительно созданы и находятся на веб-сервере.
Я не хочу, чтобы пользователь просто набрал URL и получил файл PDF (т. Е. http://MySite/MyPDFFolder/MyPDF.pdf)
Я хочу разрешить их просмотр только при их загрузке и отображении.
Я делал нечто подобное раньше. Я использовал PDFSharp, чтобы создать PDF-файл в памяти, а затем загрузить его на страницу, подобную этой:
protected void Page_Load(object sender, EventArgs e)
{
try
{
MemoryStream streamDoc = BarcodeReport.GetPDFReport(ID, false);
// Set the ContentType to pdf, add a header for the length
// and write the contents of the memorystream to the response
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", Convert.ToString(streamDoc.Length));
Response.BinaryWrite(streamDoc.ToArray());
//End the response
Response.End();
streamDoc.Close();
}
catch (NullReferenceException)
{
Communication.Logout();
}
}
Я пытался использовать этот код для чтения из файла, но не мог понять, как заставить MemoryStream читать в файле.
Мне также нужен способ сказать, что путь "/ MyPDFFolder" не доступен для просмотра.
Спасибо за любые предложения