首頁 >web前端 >js教程 >jquery控制顯示伺服器產生的圖片流_jquery

jquery控制顯示伺服器產生的圖片流_jquery

WBOY
WBOY原創
2016-05-16 15:47:161281瀏覽

先把圖片路徑當作參數,ajax異步傳到後台方法中上傳伺服器,直接用Jquery傳是不行的,它沒有權力跟伺服器打交道,具體內容不廢話了,直接看下文,介紹的很詳細。

先給大家看下效果圖:

jquery控制顯示伺服器產生的圖片流_jquery

jquery控制顯示伺服器產生的圖片流_jquery

首先是第一副是初始的頁面,第二副是點選submit之後服務端產生的二維碼,沒有儲存圖片直接將圖片串流轉成字串回到頁面。

簡介:
首先,這種產生二維碼方式,而且不需要保存的情況可以在前端使用腳本來實現,那我在專案裡也是這樣做的。

然後js好像是不能接受服務端的檔案流進行操作的,出於安全考慮。如果這種方式是可以的話,請告訴我,謝謝。

既然無法取得檔案流,那就取得字串,jquery控制顯示伺服器產生的圖片流_jquery標籤又有一種特殊的用法,在src中這般寫法data:jquery控制顯示伺服器產生的圖片流_jquery/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:jquery控制顯示伺服器產生的圖片流_jquery/png;base64,' + data);
});

總結:
程式碼很簡單,不僅是二維碼,然而不需要保存的圖片就可以這樣做,像'data:jquery控制顯示伺服器產生的圖片流_jquery/png;base64, 也可在服務端生成。

以上內容就是本文的全部內容,希望對大家有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn