2017-05-14 8 views
0

私はasp.netのWebサイトに画像コンポーネントを持っていて、CSSで正確な場所に配置しています。私はすべての画像を1つの画像に保存したいのですが、掘り下げた後、html2canvasのスクリーンショットを取得するソリューションが見つかりました。 .. それはうまく動作し、問題は、ブラウザでhtml2canvas関数の内容をブロックするサーバーにアップロードした後、私はなぜ知っていないのですか?キャンバス関数は実際にキャンバスをサーバーに渡し、データベースに1つのイメージとして保存しますが、ブロックを解決することはできません。そのページの例外を追加した後は正常に動作しますが、ユーザーはポップアップページなしでページに直接アクセスしますブラウザがJavaScriptのコンテンツをブロックするのはなぜですか?

<div id="imageBody"> 
    <asp:Image ImageUrl="img/bgA4.png" height="364" width="216" runat="server" ID="img1" /> 
    <asp:Image ImageUrl="img/darAghabChap/default.png" id="imgdarAghabChap" runat="server" /> 
    <asp:Image ImageUrl="img/darAghabRast/default.png" id="imgdarAghabRast" runat="server" /> 
    <asp:Image ImageUrl="img/darJeloChap/default.png" id="imgdarJeloChap" runat="server" /> 
    <asp:Image ImageUrl="img/darJeloRast/default.png" id="imgdarJeloRast" runat="server" /> 
    <asp:Image ImageUrl="img/gelgirAghabChap/default.png" id="imggelgirAghabChap" runat="server" /> 
    <asp:Image ImageUrl="img/gelgirAghabRast/default.png" id="imggelgirAghabRast" runat="server" /> 
    <asp:Image ImageUrl="img/gelgirJeloChap/default.png" id="imggelgirJeloChap" runat="server" /> 
    <asp:Image ImageUrl="img/gelgirJeloRast/default.png" id="imggelgirJeloRast" runat="server" /> 
    <asp:Image ImageUrl="img/kapoot/default.png" id="imgkapoot" runat="server" /> 
    <asp:Image ImageUrl="img/separJelo/default.png" id="imgseparJelo" runat="server" /> 
    <asp:Image ImageUrl="img/separJeloChap/default.png" id="imgseparJeloChap" runat="server" /> 
    <asp:Image ImageUrl="img/separJeloRast/default.png" id="imgseparJeloRast" runat="server" /> 
    <asp:Image ImageUrl="img/saghf/default.png" id="imgsaghf" runat="server"/> 
    <asp:Image ImageUrl="img/sandogh/default.png" id="imgsandogh" runat="server" /> 
    <asp:Image ImageUrl="img/separAghab/default.png" id="imgseparAghab" runat="server"/> 
    <asp:Image ImageUrl="img/separAghabChap/default.png" id="imgseparAghabChap" runat="server"/> 
    <asp:Image ImageUrl="img/separAghabRast/default.png" id="imgseparAghabRast" runat="server"/> 
</div> 

html2canvas機能:

私はhtml2canvasを知っているように、ここで はイメージのための私のコード..です自由なライセンスのライブラリとdoesntのですが、どのライセンスが必要です... permisionを必要とするか、このサイトが認可されていないことを言って
<script type="text/javascript"> 
function ConvertToImage(btnExport) { 
    html2canvas($("#imageBody")[0]).then(function (canvas) { 
     var base64 = canvas.toDataURL(); 
     $("[id*=hfImageData]").val(base64); 
     __doPostBack(btnExport.name, ""); 
    }); 
    return false; 
} 

これはデータベースに保存するキャンバスを作るその背後コードです:

 Protected Sub ExportToImage(sender As Object, e As EventArgs) 
    ' vehBodyId = 25 
    If Session("UserId") = "" Then 
     Response.Redirect("~/Default.aspx") 
    Else 
     vehBodyId = idMaker("select max(vehBodyId) from VehicleBody", "vehBody") 
     Session("vehBodyId") = vehBodyId 
     Dim base64 As String = Request.Form(hfImageData.UniqueID).Split(",")(1) 
     Dim bytes As Byte() = Convert.FromBase64String(base64) 
     'insert to db 
     sql = "insert into VehicleBody (vehBodyId,imgBody) values(@vehBodyId,@imgBody)" 
     If con.State = ConnectionState.Closed Then 
      con.ConnectionString = constr 
      con.Open() 
     End If 

     cmd.CommandText = sql 
     cmd.Parameters.Clear() 
     cmd.Parameters.Add("@vehBodyId", SqlDbType.Int).Value = vehBodyId 
     cmd.Parameters.Add("@imgBody", SqlDbType.Image).Value = bytes 
     cmd.CommandType = CommandType.Text 
     cmd.Connection = con 
     cmd.ExecuteNonQuery() 
     con.Close() 
     btnShowReport.Enabled = True 

       End If 
+0

場合によっては、btnExportのコードを表示できますか?この機能はまったく動作し始めますか? – wazz

+0

はいブラウザに例外を追加してページのセキュリティコンテンツを削除すると、コードは完全に機能します。私は私のポストを編集し、そこに全体の輸出機能を書く... –

答えて

0

私は最終的にSSL証明書に、なぜhtml2canvas波平の仕事を見つけたと私はちょうどいずれかが同じ問題を持っている場合は共有したい... こと私はjqueryとhtml2canvasにリンクしているからです... 私はそれらをダウンロードし、私のサーバーからリンクして正しく動作します。

関連する問題