i new asp.net programming , web programming in general don't know terms try best point across.
i writing image generator take in string , output png. have been able using syntax labelgenerator.aspx?epl2=urlencodedmessagegoeshere
visiting site generate png file can used right inside web page further display. issue may have message on 2048 bytes , iis not that.
i know doing post instead of free me 2048 limit, not know how pass information along if want use resultant image inside img tag.
here code of how doing it.
public partial class labelgenerator : system.web.ui.page { rotatefliptype rotateflip; float scale; string labelcommands; protected void page_load(object sender, eventargs e) { try { int rotateflipint; if (!float.tryparse(this.request.querystring["scale"], out scale)) scale = 1; if (!int.tryparse(this.request.querystring["rotateflip"], out rotateflipint)) rotateflipint = (int)rotatefliptype.rotate270flipnone; rotateflip = (rotatefliptype)rotateflipint; labelcommands = this.request.querystring["epl2"]; if (labelcommands != null && labelcommands.length > 0) { using (var bitmap = generatelabel()) { response.clearcontent(); response.clearheaders(); response.contenttype = "image/png"; bitmap.save(response.outputstream, system.drawing.imaging.imageformat.png); } } else { response.write("you did not enter valid epl2 command"); } } catch (exception ex) { response.write("an error occurred during processing."); } } private bitmap generatelabel() { //(snip) } }
have @ solutions google used chart api solve same problem
specifying chart url in browser or tag called request. making request simple, urls limited 2k characters. if have more data that? luckily, chart api supports http post chart requests 16k long. trade-off added complexity of using post.
basically create form on page hidden fields contain data sent. when posting form, within iframe
, response image. thier form looks this
<form action='https://chart.googleapis.com/chart' method='post'> <input type="hidden" name="cht" value="lc" /> <input type="hidden" name="chtt" value="this | chart" /> <input type='hidden' name='chs' value='600x200' /> <input type="hidden" name="chxt" value="x,y" /> <input type='hidden' name='chd' value='t:40,20,50,20,100'/> <input type="submit" /> </form>
in example user need click submit button image. in google page there further example of using javascript trigger post
var frm = document.getelementbyid('post_form'); if (frm) { frm.submit(); }
Comments
Post a Comment