前台是一个form 但点击按钮submit后转到后台这里,这都没问题, 已经完成的代码部分使用了一个EVO HTML to PDF Converter 3.0 for .NET 插件,他把传进来的值转成了byte[] pdfBytes = null;到这都好着,我只是想把这生成的byte[]返回给前端并提示,打开,保存,什么的那种,就是不知道如何在mvc3 这如何返回给前端
- C# code
[HttpPost] [ValidateInput(false)] public FilePathResult GenererPDF(string strHtml) { 《《《《《《《《《已经完成的代码》》》》》》》》 pdfBytes = pdfConverter.GetPdfBytesFromHtmlString(strHtml); <<<<<我需要的代码>>>> }
这个是找的例子中的返回前端,但是我在mvc3 razor 的项目中怎么都得不到这样的效果,请各位高手给指点下了
- C# code
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "application/pdf"); response.AddHeader("Content-Disposition", String.Format("attachment; filename=GettingStarted.pdf; size={0}", pdfBytes.Length.ToString())); response.BinaryWrite(pdfBytes); response.End();
------解决方案--------------------------------------------------------
public ActionResult Download()
{
var fileStream = new FileStream(Server.MapPath("~/xx.pdf"), FileMode.Open);
var mimeType = "application/pdf";
var fileDownloadName = "download.pdf";
return File(fileStream, mimeType, fileDownloadName);
}