c# - How to save html2canvas image into System Folder in jquery -
i have form id="form1" inside form have graph.now using html2canvas image of form1.here code..
<script type="text/javascript"> $(document).ready(function () { $('#add_button').click(function () { alert("hiii"); $('form1').html2canvas(); var queue = html2canvas.parse(); var canvas = html2canvas.renderer(queue, { elements: { length: 1} }); var img = canvas.todataurl(); window.open(img); alert("hello"); }); }); </script>
<form id="form1" runat="server"> <div style="padding-left:150px"> <asp:literal id="fcliteral1" runat="server"></asp:literal> </div> <div style="padding-left:350px"><b>demo</b></div> </form> <input type="submit" id="add_button" value="take screenshot of div" " />
so question how can save image system hardisk..please me.
system hardisk? did not understand, server or client?
client
if want user download image automatically, need modify data uri scheme
try this:
add in css
#myhideframe { position: absolute; top: -9999px; width: 1px; height: 1px; }
add in javascript
var img = canvas.todataurl(); var frame = document.getelementbyid("myhideframe"); if(!frame) { frame = document.createelement("iframe"); frame.id = "myhideframe"; document.body.appendchild(frame); } frame.src = img.replace(/^data[:]image\/(png|jpg|jpeg)[;]/i, "data:application/octet-stream;");
unfortunately example not show name, have (user need click in link):
var img = canvas.todataurl(); var link = document.createelement("a"); link.download = "photo.png"; //setup name file link.href = img.replace(/^data[:]image\/(png|jpg|jpeg)[;]/i, "data:application/octet-stream;"); document.body.appendchild(link);
server
if want save on server need use ajax
, example jquery:
javascript file:
var img = canvas.todataurl().replace(/^data[:]image\/(png|jpg|jpeg)[;]base64,/i, ""); $.ajax({ "type": "post", "url": "upload.aspx/uploadimage", "data": { "imagedata": img //send webmethod } }).done(function(o) { console.log(["response:" , o]); });
your upload.aspx.cs file need:
... [webmethod()] public static void uploadimage(string imagedata) { string filenamewitpath = "custom_name.png"; using (filestream fs = new filestream(filenamewitpath, filemode.create)) { using (binarywriter bw = new binarywriter(fs)) { byte[] data = convert.frombase64string(imagedata);//convert base64 bw.write(data); bw.close(); } } } ...
see details: http://www.dotnetfunda.com/articles/show/1662/saving-html-5-canvas-as-image-on-the-server-using-aspnet
Comments
Post a Comment