首先把圖片路徑作為參數,ajax異步傳到后臺方法中上傳服務器,直接用Jquery傳是不行的,它沒有權力跟服務器打交道,具體內容不廢話了,直接看下文,介紹的很詳細。
首先給大家展示下效果圖:
<
首先是第一副是初始的頁面,第二副是點擊submit之后服務端生成的二維碼,沒有保存圖片直接將圖片流轉成字符串返回到頁面。
簡介:
首先,這種生成二維碼方式,而且不需要保存的情況可以在前端使用腳本來實現,那我在項目里也是這樣做的。
然后js好像是不能接受服務端的文件流進行操作的,出于安全考慮。如果這種方式是可以的話,請告訴我,謝謝。
既然不能獲取文件流,那就獲取字符串,<img>標簽又有一種特殊的用法,在src中這般寫法 data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABId……………. 后面一長串是圖片的字符串,然后就是代碼,寫法很容易。
服務端:
public ActionResult GetFileASCII(string content){ System.IO.MemoryStream ms=new System.IO.MemoryStream(); //這一步是獲取二維碼 QRCodeHelper.GetQRCode(content, ms); return Content(Convert.ToBase64String(ms.GetBuffer()));}
客戶端:
$.get('url/*服務端地址*/', { content: 'http://blog.sina.com.cn/s/blog_50042fab0100mcuy.html/*要生成二維碼的內容*/' }, function (data) { $('#testimg').attr('src', 'data:image/png;base64,' + data);});
總結:
代碼很簡單,不僅是二維碼,然而不需要保存的圖片就可以這樣做,像'data:image/png;base64, 也可在服務端生成。
以上內容就是本文的全部內容,希望對大家有所幫助。
新聞熱點
疑難解答