ABC Pdf mobile 无法正确下载 pdf
ABC Pdf mobile not downloading pdf correctly
我正在做一个 c sharp MVC 项目,并将 HTML 页面之一渲染为 PDF。
当我从桌面版调用它时,PDF 会自动下载,而不会重定向我。
但是当我在 page.mobile.cshtml 上并按下下载 pdf 按钮时,它会将我重定向到 url 以获取 GetPDF 方法。如果我然后刷新该站点,它会下载 pdf。
我哪里做错了,是不是移动视图的某些路由设置有问题?
这是我的 getPdf 方法:
public void getPdf(string snr, string bnr, int bgn)
{
Doc theDoc = new Doc();
theDoc.Clear();
theDoc.FontSize = 16;
theDoc.Page = theDoc.AddPage();
int theID;
string url = this.Url.Action("TicketPdf", "Home", new { supplierCode = snr, bookingNr = bnr, bgn = bgn }, this.Request.Url.Scheme);
theID = theDoc.AddImageUrl(url);
while (true)
{
theDoc.FrameRect();
if (!theDoc.Chainable(theID))
break;
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}
for (int i = 1; i <= theDoc.PageCount; i++)
{
theDoc.PageNumber = i;
theDoc.Flatten();
}
byte[] theData = theDoc.GetData();
Response.Clear();
Response.ContentType = "application/pdf";
//Response.AddHeader("content-disposition", "inline; filename=ticket.PDF");
Response.AddHeader("content-length", theData.Length.ToString());
Response.AddHeader("content-disposition", "attachment; filename=Ticket.pdf");
Response.BinaryWrite(theData);
Response.End();
}
在两种视图(桌面和移动)上,我都这样称呼它:
@Html.ActionLink("Download pdf", "getPDF", new { snr = @bok.CBSupplierId, bnr = @bok.CBBookingCode, bgn = (int)bok.Id })
因此,当我在桌面视图中按 link 时,它会下载 PDF 而不会重定向我。但是当我在使用 jquery mobile 构建的移动视图中按下它时,它会将我重定向到:/Home/getPDF?snr=22558&bnr=IWVY99&bgn=4391
通过将 rel = "external" 添加到移动视图中的 link 设法解决了这个问题。
我正在做一个 c sharp MVC 项目,并将 HTML 页面之一渲染为 PDF。 当我从桌面版调用它时,PDF 会自动下载,而不会重定向我。 但是当我在 page.mobile.cshtml 上并按下下载 pdf 按钮时,它会将我重定向到 url 以获取 GetPDF 方法。如果我然后刷新该站点,它会下载 pdf。
我哪里做错了,是不是移动视图的某些路由设置有问题?
这是我的 getPdf 方法:
public void getPdf(string snr, string bnr, int bgn)
{
Doc theDoc = new Doc();
theDoc.Clear();
theDoc.FontSize = 16;
theDoc.Page = theDoc.AddPage();
int theID;
string url = this.Url.Action("TicketPdf", "Home", new { supplierCode = snr, bookingNr = bnr, bgn = bgn }, this.Request.Url.Scheme);
theID = theDoc.AddImageUrl(url);
while (true)
{
theDoc.FrameRect();
if (!theDoc.Chainable(theID))
break;
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}
for (int i = 1; i <= theDoc.PageCount; i++)
{
theDoc.PageNumber = i;
theDoc.Flatten();
}
byte[] theData = theDoc.GetData();
Response.Clear();
Response.ContentType = "application/pdf";
//Response.AddHeader("content-disposition", "inline; filename=ticket.PDF");
Response.AddHeader("content-length", theData.Length.ToString());
Response.AddHeader("content-disposition", "attachment; filename=Ticket.pdf");
Response.BinaryWrite(theData);
Response.End();
}
在两种视图(桌面和移动)上,我都这样称呼它:
@Html.ActionLink("Download pdf", "getPDF", new { snr = @bok.CBSupplierId, bnr = @bok.CBBookingCode, bgn = (int)bok.Id })
因此,当我在桌面视图中按 link 时,它会下载 PDF 而不会重定向我。但是当我在使用 jquery mobile 构建的移动视图中按下它时,它会将我重定向到:/Home/getPDF?snr=22558&bnr=IWVY99&bgn=4391
通过将 rel = "external" 添加到移动视图中的 link 设法解决了这个问题。