相关疑难解决方法(0)

iTextSharp生成PDF:如何将pdf发送到客户端并添加提示?

我使用iTextSharp生成了一个pdf,当它创建时,它会自动保存在我的代码中提供的位置,而不是在客户端的服务器上,当然也没有告诉用户任何东西.

我需要将它发送给客户端,我需要提示一个对话框询问用户他想要保存他的pdf的位置.

我该怎么办?

这是我的pdf代码:

using (MemoryStream myMemoryStream = new MemoryStream())
{
    Document document = new Document();
    PdfWriter PDFWriter = PdfWriter.GetInstance(document, myMemoryStream);

    document.AddHeader("header1", "HEADER1");


    document.Open();

      //..........

    document.Close();

    byte[] content = myMemoryStream.ToArray();

    // Write out PDF from memory stream.
    using (FileStream fs =      File.Create(HttpContext.Current.Server.MapPath("~\\report.pdf")))
    {
        fs.Write(content, 0, (int)content.Length);
    }
Run Code Online (Sandbox Code Playgroud)

编辑

这是我想要http://examples.extjs.eu/?ex=download的结果示例

感谢您的回复,我修改了我的代码:

HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AppendHeader( "Content-Disposition", "attachment; filename=test.pdf");


using (MemoryStream myMemoryStream = new MemoryStream())
{    
Document document = new Document();    
PdfWriter PDFWriter = PdfWriter.GetInstance(document, myMemoryStream);

document.AddHeader("Content-Disposition", "attachment; filename=wissalReport.pdf");

document.Open(); …
Run Code Online (Sandbox Code Playgroud)

c# pdf extjs prompt itextsharp

6
推荐指数
2
解决办法
3万
查看次数

ExtJS 4 - 如何使用Ajax下载文件?

我有一个包含各种文本字段和两个按钮的表单 - 导出到Excel并导出为CSV.

用户可以将值提供给表单中的不同字段,然后单击其中一个按钮.

预期的行为是应该触发Ajax请求,并将字段值作为参数,并且应该下载所选文件(按钮点击的Excel/CSV)(我没有提交表单,因为需要在提交前的值).

我一直在使用以下代码成功下载Ajax请求的代码:

result  =   Ext.decode(response.responseText);

try {
    Ext.destroy(Ext.get('testIframe'));
}

catch(e) {}

Ext.core.DomHelper.append(document.body, {
    tag: 'iframe',
    id:'testIframe',
    css: 'display:none;visibility:hidden;height:0px;',
    src: result.filename,
    frameBorder: 0,
    width: 0,
    height: 0
});
Run Code Online (Sandbox Code Playgroud)

在文件是在服务器上物理创建的情况下,上面的代码工作正常.但是在我当前的项目中,文件不是在服务器上创建的,而是使用正确的标题将内容流式传输到浏览器.

因此,当文件在服务器上不存在时,有没有办法使用Ajax下载文件?只是补充一点,我有一长串参数需要发送到服务器,因此无法将它们全部添加到iframe的src中.

任何人都可以指导这个吗?

在此先感谢您的帮助.

javascript ajax extjs download extjs4

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

extjs ×2

ajax ×1

c# ×1

download ×1

extjs4 ×1

itextsharp ×1

javascript ×1

pdf ×1

prompt ×1