J'ai un site Web qui contient un ensemble de fichiers PDF pré-créés et installés sur le serveur Web.Puis-je afficher un fichier PDF, mais ne pas autoriser l'insertion de liens dans un site Web?
Je ne veux pas permettre à un utilisateur de taper simplement dans une URL et obtenir le fichier PDF (c.-à-http://MySite/MyPDFFolder/MyPDF.pdf)
Je veux leur permettre que d'être vus quand je les charge et les afficher.
J'ai déjà fait quelque chose de similaire. Je PdfSharp pour créer un fichier PDF dans la mémoire, puis le charger sur une page comme celle-ci:
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();
}
}
J'ai essayé d'utiliser ce code pour lire un fichier, mais ne pouvait pas comprendre comment obtenir un MemoryStream pour lire dans un fichier.
J'ai également besoin d'un moyen de dire que le chemin "/ MyPDFFolder" est non-navigable.
Merci pour toutes suggestions
Merci pour l'exemple de code. – Vaccano
Si vous voulez empêcher l'accès direct (Utilisateur, Autres liens de site Web ou Basé sur un moteur de recherche), j'utiliserais la méthode ci-dessus mais ensuite je l'emballerais dans un gestionnaire (ashx). Ensuite, vous pouvez vérifier la source de la requête et la sortir en conséquence. – jaredmroberts