将PNG写入磁盘后出现asp.net代码问题-iTextSharp和PDFStamper

将PNG写入磁盘后出现asp.net代码问题-iTextSharp和PDFStamper,asp.net,vb.net,html,canvas,itext,Asp.net,Vb.net,Html,Canvas,Itext,我成功地在HTML5画布上绘制,并将画布保存到服务器上的PNG文件中。然后我使用iTextsharp将PNG标记为PDF。 这一切都很好,但这是我的问题 当我不想显示PNG时,我的代码会将其显示在屏幕上。 然后我必须让用户按后退按钮才能看到PDF列表。 发生这种情况时,一切正常,但我不想要PNG。 但是,如果我关闭了PNG的内容类型代码,这样PNG就不会显示,那么PDF列表就不会填充上一个生成的PDF,代码会在上一个画布签名上再次运行。这比看到PNG并按下后退按钮更糟糕 设置“response.

我成功地在HTML5画布上绘制,并将画布保存到服务器上的PNG文件中。然后我使用iTextsharp将PNG标记为PDF。 这一切都很好,但这是我的问题

当我不想显示PNG时,我的代码会将其显示在屏幕上。 然后我必须让用户按后退按钮才能看到PDF列表。 发生这种情况时,一切正常,但我不想要PNG。 但是,如果我关闭了PNG的内容类型代码,这样PNG就不会显示,那么PDF列表就不会填充上一个生成的PDF,代码会在上一个画布签名上再次运行。这比看到PNG并按下后退按钮更糟糕

设置“response.end”在我使用的代码情况下不起作用。因为我必须用Base64 PNG代码填充一个隐藏的表单变量,并运行一些jquery

你能不能建议一些我可以做的事情,不显示PNG,而是用更新的列表显示屏幕?我正在使用asp.net vb。我不精通asp.net,但正在学习

' take the canvas signature and write it to the Build folder path as a PNG
' the txtPNG hidden form field has the png base64
Dim base64 As String = txtPNG.Text
base64 = base64.Replace("data:image/png;base64,", "")
Dim bytes As Byte() = Convert.FromBase64String(base64)
Response.Buffer = True
Response.Clear()
Response.ClearContent()

System.IO.File.WriteAllBytes(strBuildFilePath & "\" & strFilenameToSave & ".png", bytes)
Response.ContentType = "image/png"
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.BinaryWrite(bytes)

'do not use Response.end() or code doesn't work to generate the PDF etc.
这是我用来移动PNG/canvas图像的JQUERY的一部分:

        $(function() {
            $("#btnSaveASP").on('click', function(e) {
                e.preventDefault();
                var canvas = document.getElementById('cnvSignatureSketch');
                var imgData = canvas.toDataURL();
                //alert(imgData);
                $("#<%=imgASP.ClientID %>")
            .attr("src", imgData)
               $("#<%=txtPNG.ClientID %>")
            .attr("value", imgData)

                //now click another button, btnexport,  via jquery
                //so user doesn't need to click two buttons
                $("#<%=btnExport.ClientID %>").click();
            });
        });
$(函数(){
$(“#btnSaveASP”)。在('click',函数(e){
e、 预防默认值();
var canvas=document.getElementById('cnvSignatureSketch');
var imgData=canvas.toDataURL();
//警报(imgData);
$("#")
.attr(“src”,imgData)
$("#")
.attr(“值”,imgData)
//现在通过jquery单击另一个按钮btnexport
//所以用户不需要单击两个按钮
$(“#”)点击();
});
});

一个好的老式
响应。重定向
写入字节后工作
一个好的老式
响应。重定向
写入字节后工作