Ich habe eine Website, die eine Reihe von PDFs hat, die vordefiniert sind und auf dem Webserver sitzen.Kann ich ein PDF anzeigen, aber nicht auf einer Website verlinken?
Ich will nicht, damit ein Benutzer nur eine URL eingeben und die PDF-Datei erhalten (dh http://MySite/MyPDFFolder/MyPDF.pdf)
Ich möchte, dass sie nur erlauben, gesehen werden, wenn ich sie ihnen laden und anzeigen.
Ich habe etwas ähnliches schon einmal gemacht. Ich benutzen PDFSharp eine PDF im Speicher zu erstellen und es dann so auf eine Seite laden:
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();
}
}
Ich hat versucht, diesen Code zu verwenden, aus einer Datei zu lesen, kann aber nicht herausfinden, wie ein Memorystream erhalten zu lesen in einer Datei.
Ich brauche auch eine Möglichkeit zu sagen, dass der "/ MyPDFFolder" Pfad nicht durchsuchbar ist.
Vielen Dank für alle Anregungen
Danke für den Beispielcode. – Vaccano
Wenn Sie direkten Zugriff verhindern möchten (Benutzer, andere Website-Links oder Suchmaschinen-basiert) würde ich die obige Methode verwenden, aber dann wickeln Sie es in einen Handler (Ashx). Dann können Sie die Quelle der Anfrage überprüfen und sie entsprechend servern. – jaredmroberts