操作arcgisserver中的地圖服務
阿新 • • 發佈:2020-12-24
文章目錄
檔案被ARCsoc.exe鎖定:
檔案被ARCsoc.exe鎖定:
例如:影像服務或者動態服務,會直接讀取原始檔,當我們想要操作原始檔時,就會提示:檔案被ARCsoc.exe鎖定
可以通過arcgis rest api操作地圖服務,比如停止地圖服務:
$.ajax({
type: "POST",
url: "http://192.168.1.111:6080/arcgis/admin/services/" +serviceName+"Cache.ImageServer/stop",
data: {
'token': response.token,//攜帶的token
'f': "json"
},
dataType: "json" //dataType不能少
})
執行停止服務時需要token:
每次對地圖服務操作時,都需要獲取token進行操作
$.ajax({
type: "POST",
url: "http://192.168.1.111:6080/arcgis/admin/generateToken" ,
data: {
username: "test",//管理賬號
password: "123456",//密碼
client: "referer",//如果將值設定為Referer,則必須指定Referer引數。如果值為ip,則必須指定ip引數。如果值為requestip,則使用發出請求的IP地址。
referer: "http://192.168.1.111:6080",//專案地址,需要與接下啦進行的管理操作同源。
expiration: '60' ,//令牌必須有效的時間(以分鐘為單位)。
f: "json"//響應格式。預設響應格式為html
},
dataType: "json",
});
拿token再進行地圖服務管理操作:
var tokenvalue = $.ajax({
type: "POST",
url: "http://192.168.1.111:6080/arcgis/admin/generateToken",
data: {
username: "arcgis",
password: "123456",
client: "referer",
referer: "http://192.168.1.111:6080",//專案地址
expiration: '60',
f: "json"
},
dataType: "json",
});
if (tokenvalue) {
tokenvalue
.success(function (response) {
if (response.token) {
//成功生成token
console.log(response.token);
$.ajax({
type: "POST",
url: "http://192.168.1.111:6080/arcgis/admin/services/"+serviceName+"Cache.ImageServer/stop",
data: {
'token': response.token,
'f': "json"
},
dataType: "json"
})
}
}).error(function (err) {
console.log("操作失敗。err:" + err);
});
}
幫助文件:
generatetoken: generatetoken
stopservice: stopservice
大佬的部落格: ArcGIS api for javascript 3.x通過‘‘url?token=‘‘動態拼接的方式訪問server的安全服務