2014-10-16 105 views
0

我使用angularjs從Web服務中獲取字符串。這個字符串實際上是一個base64 pdf文件。AngularJS如何返回字符串而不是Json對象

public string Get(int id) 
{ 
    var bytes = File.ReadAllBytes(@"C:\test.pdf"); 
    var content = Convert.ToBase64String(bytes); 
    return content; 
} 

Angularjs返回我像這樣的一個陣列:

{ 「0」: 「\」」, 「1」: 「J」, 「2」: 「V」, 「3」: 「B」,「4」:「E」 ...}

但我需要這樣一個完整的字符串:「JVBE ......」

我試圖找到一種方式來獲得完整的字符串,而不是陣列格式和我什麼也沒找到。

你知道怎麼處理嗎?

謝謝!

卡林納

+0

我沒有在這裏看到任何'Angular JS'代碼..要麼沒有'Javascript' ...它看起來像你在混合'Java&Javascript'。 Java中沒有'var'關鍵字,'Javascript'中沒有'File.ReadAllBytes()'函數。你的'Get'函數在執行/編譯時必須返回一個錯誤。# – Merlin 2014-10-16 17:03:40

+0

@Lorenzo,實際上它看起來像C#代碼(在C#中有'var')。但是你是對的,這裏根本沒有JS :) – 2014-10-16 17:32:52

回答

2

看來你是從淨MVC的Web API返回的數據。你可以做

public object Get(int id) 
{ 
    var bytes = File.ReadAllBytes(@"C:\test.pdf"); 
    var content = Convert.ToBase64String(bytes); 
    return new {value = content}; 
} 

由於字符串不能轉換爲JSON。

+0

這給了一個匿名返回類型...你確定這是好方法嗎? – Karine 2014-10-16 17:40:50

+0

@Karine如果這是你的Web API的C#代碼,那麼答案是肯定的。 – zsong 2014-10-16 18:04:38

+0

謝謝,這是很好的答案:) – Karine 2014-10-16 18:13:38

相關問題