我将Geoserver与用OpenLayers 3编写的应用程序一起使用。该应用程序可以使用WFS服务下载压缩的shapefile,除非我提出了一个大(长URL)请求,否则该文件将起作用。在这种情况下,我在Chrome中收到413错误。
有没有一种方法可以更改此设置,以便可以向Geoserver发出更长的请求(或者是其他问题吗?
这是请求:
$('#btnDownloadSHP').click(function (e) {
var tostring = '(' + ids.toString() + ')';
var data = {
service: 'WFS',
version: '1.1.0',
request: 'GetFeature',
typename: 'download_layer',
format_options: "filename:" + shapefileName,
srsname: 'EPSG:3857',
outputFormat: 'SHAPE-ZIP',
CQL_FILTER: "id IN " + tostring
}
var parameters = Object.keys(data).map(function (key) {
return key + '=' + data[key]
}).join('&');
var url = "http://" + servername + "/geoserver/wfs?" + parameters;
//make dummy link and download shapefile
var link = document.createElement("a");
link.download = 'Features';
link.href = url;
link.click();
// }
});
答案 0 :(得分:1)
该响应将由运行GeoServer的服务器而不是GeoServer本身生成。因此,根据您使用的httpd和/或servlet引擎,您可能可以在此处修复它。
但是简单的答案是从GET切换到POST。