HTTPHandler pour affichage PDF
Bonjour,
Je suis actuellement en train de développer une application Web avec Asp Net Core 1.
Je souhaiterais avoir une page web permettant de visualiser des fichiers PDF sur une partie de la page.
Pour cela j'ai donc décidé d'utiliser la méthode des HTTP Handler, car un simple <embed> en direction du fichier ne fonctionne pas car GoogleChrome indique "Not allowed to load local file", cependant cela ne fonctionne pas..
Code du Web.config
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="PDF" path="*.pdf" verb="*" type="PDFHandler" resourceType="Unspecified"/>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true" />
</system.webServer>
</configuration> |
Code de ma classe PDFHandler
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
using System.Web;
public class PDFHandler : IHttpHandler
{
public PDFHandler()
{
}
#region IHttpHandler Members
public void ProcessRequest(HttpContext context)
{
string fileName = "Demande paiement Astreinte_201607.pdf";
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "application/pdf";
response.AddHeader("Content-Disposition",
"attachment; filename=" + fileName + ";");
response.TransmitFile(System.Web.HttpContext.Current.Server.MapPath("F:\\1833-Pôle Production Informatique\\40-Organisation\\40-01-Astreinte\\Formulaires_TEST_GESTIONASTREINTES\\Demande paiement Astreinte_201607.pdf"));
response.Flush();
response.End();
}
public bool IsReusable
{
get { return true; }
}
#endregion IHttpHandler Members
} |
Fonction dans mon HomeController
Code:
1 2 3 4 5
|
protected void btnDownload_Click(object sender, EventArgs e)
{
Response.Redirect("PDFHandler.ashx");
} |
Code de ma page CSHTML
Code:
1 2
|
<asp:Button ID="btnDownload" runat="server" Text="Download File" OnClick="btnDownload_Click" /> |
J'ai plusieurs problème auquel je n'ai pas les réponse, premièrement mon bouton "asp:Button" ne s'affiche pas et donc le OnClick ne s'exécute pas..
Voyez vous des éventuels erreurs ?
Merci d'avance !