3

有什么方法可以检查响应大小吗?Data 属性是一个字节数组,我用它来显示图像。如果大小大于 10 MB,我需要显示一个弹出窗口。

{
  "Name": "sharon",
  "Date": "07\/14\/2004",
  "Data": "JVBERi0xLjINCg0KNC",
  "DocumentId":1540,
}

另外,我如何检查我的响应类型,无论是 blob 还是什么?我可以检查我得到的 blob 的大小吗?也许是这样的:

var data = JSON.parse(this.responseData);
4

2 回答 2

1

您可以简单地使用 JavaScript .length,但要意识到不同的浏览器和服务器会报告不同的值,因为换行符的某些解释可能是 2 个大小值中的 1 个(字节顺序)。

话虽如此,请使用您确定包含所需数据的“松散”值,而不仅仅是没有价值的标头响应。

于 2013-01-01T03:04:19.797 回答
0

您可以将传入的响应塞入一行并删除所有不必要的空白。

var JSON = '{\r\n' +
'   "Name": "sharon",\r\n' +
'   "Date": "07\/14\/2004",\r\n' +
'   "Data": "JVBERi0xLjINCg0KNC",\r\n' +
'   "DocumentId":1540,\r\n' +
'}';
alert(JSON);
alert(JSON.length); // 101

var newJSON = slurp(JSON);
alert(newJSON);
alert(newJSON.length); // 91

function slurp(str) {
  str = str.replace(/(\r\n|\n|\r)/gm,"");
  str = str.replace(/(\s+|\t)/gm,' ');
  return str;
}
于 2013-01-01T03:19:34.347 回答