2015-12-09 52 views
-1

如何通過Node.js將.tif文件上傳到我正在運行的GeoServer?我想上傳一個GeoTIFF作爲一個WMS由GeoServer提供。通過Node.js將.tif上傳到GeoServer

GeoServer響應405,我認爲是正確的(http://docs.geoserver.org/latest/en/user/rest/api/coveragestores.html#workspaces-ws-coveragestores-cs-file-extension)。不幸的是,我在GeoServer上找不到這個文件。

這是我的代碼:

// GeoServer upload 

var http = require('http'); 
var auth = 'Basic ' + new Buffer('admin' + ':' + 'geoserver').toString('base64'); 
//build the object to post 
var post_data = (path.join(paperpath, paperid, "geotiff", req.files["otherfiles"][fileno].originalname)); // Path to .tif file 

var s = JSON.stringify(post_data); 
var post_options = { 
    host: 'localhost', 
    port: '9000', 
    path: '/geoserver/rest/workspaces/myWorkspace/coveragestores/test/file', 
    method: 'POST', 
    headers: { 
    'Content-Length': s.length, 
    'Content-Type': 'image/tif', 
    'Authorization': auth 
    } 
} 
    // Set up the request 
var post_req = http.request(post_options, function(res) { 
    res.setEncoding('utf8'); 
    console.log(res.statusCode); 

    res.on('data', function(chunk) { 
    console.log('Success! ' + chunk); 
    }); 
}); 
// post the data 
post_req.write(s); 
post_req.end(); 

回答

0

我覺得首先你需要將文件上傳是從的GeoServer入店(在GeoServer的數據目錄的文件夾中更佳)的文件夾中,然後使用REST API配置覆蓋商店。 檢查這blog post它應該給你一個提升