我正在对我的Spring控制器进行ajax调用以从blob对象获取数据。我将blob转换为String,并尝试返回它。如果我不使用@ResponseBody注释,我会收到404错误,但使用注释解决了这个问题。我尝试在ajax代码中指定不同的数据类型,但它没有任何效果。 有人可以向我解释一下这种行为。还有关于以更好的方式传回blob数据的任何建议吗?
@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); */
}
});
由于
答案 0 :(得分:0)
如果没有@ResponseBody
,返回的字符串应该是视图的相对路径(例如JSP文件),因此是404。