2013-11-04 38 views
0

我試圖從C#ASP方法獲取jpg圖像的base64字符串。我已確認返回的base64實際上已正確轉換爲圖像。但是,當試圖通過JQuery將其設置爲src時,FireBug監視器中出現BAD REQUEST錯誤。從ASP(C#)獲取jQuery中的jpg base64字符串方法

JQuery的:

function GetImage() { 
    $.ajax({ 
     url: "Default.aspx/GetImageArray", 
     type: "POST", 
     dataType: "json", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     success: function (msg) { 
      document.getElementById("MainContent_output").setAttribute('src',  'data:image/jpeg;base64,' + $.fromBASE64(msg['d'])); 
     }, 
     error: function (e) { 
      alert(JSON.stringify(e)); 
     } 
    }); 
} 

C#ASP:

[WebMethod] 
public static string GetImageArray() 
{ 
    return Convert.ToBase64String(File.ReadAllBytes(path)); 
} 

不介意「GetImageArray的名字,該方法返回一個字符串。

好,SOS幾乎:)

回答

0

對於那些需要一個答案,我有以下解決它:

C#(ASP)(不變):

[WebMethod] 
public static string GetImageArray() 
{ 
    return Convert.ToBase64String(File.ReadAllBytes(path.jpg)); 
} 

JQuery的:

function GetImage() { 
    $.ajax({ 
     url: "Default.aspx/GetImageArray", 
     type: "POST", 
     dataType: "json", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     success: function (msg) { 
      document.getElementById("MainContent_output").setAttribute('src', 'data:image/jpg;base64,' + msg['d']); 
     }, 
     error: function (e) { 
      alert(JSON.stringify(e)); 
     } 
    }); 
} 

注意:在asp:Image控件中的元素'輸出'。剩下的唯一問題是該字符串對於大型圖像出現的Javascript串行器來說太長。當我弄明白的時候,我會回覆一個問題。

相關問題