0
我正在對我的Spring控制器進行ajax調用,以從blob對象獲取數據。我將blob轉換爲String,並嘗試返回它。如果我沒有使用@ResponseBody註解,我得到一個404錯誤,但使用註解解決this.I嘗試在ajax代碼中指定不同的數據類型,但它沒有效果。 有人可以請我解釋這種行爲。還有關於更好地傳回blob數據的任何建議?由@ResponseBody影響的彈簧映射
@RequestMapping(value = "/BlobData", method = RequestMethod.GET)
public @ResponseBody String genBlobData(int Id) throws SQLException {
Blob blob = daoImpl.getBlob(Id);
byte[] content = blob.getBytes(1, (int) blob.length());
String temp = new String(content);
return temp;
}
而AJAX:
$.ajax({
type: 'GET',
dataType: "text",
url: 'BlobData',
data: {Id:Id},
success: function(data)
{
var newWindow = window.open();newWindow.document.write(data);
/* alert(data); */
}
});
感謝
但是,即使視圖未解決,函數genBlobData也應該被調用,爲什麼我會爲'/ BlobData'獲取404, – SKaul
@SKaul我相信該方法確實會被調用(使用beakpoint或sysout來檢查它) 。就在解析視圖時,由於沒有找到,返回404。 – sp00m
你說得對,該方法正在調用中!謝謝,關於傳遞blob作爲字符串的任何意見? – SKaul