簡體   English   中英

NSIS inetc :: put,無法上傳文件:“嘗試設置Content-type標頭。”

[英]NSIS inetc::put, cannot upload file: “Try setting the Content-type header.”

我正在嘗試使用inetc::put將樣式層描述符(.sld)上傳到具有RESTful終結點的本地GeoServer實例。 我收到一條錯誤消息,說我需要設置Content-type。

inetc::put /silent /header "Content-type: application/vnd.ogc.sld+xml" "http://username:password@localhost:8080/geoserver/rest/styles/MyNewStyle" "$INSTDIR/MyNewStyle.sld"
Pop $0
DetailPrint "Uploading styled layer descriptor: $0"

這將返回HTTP 400(請求錯誤)。 服務器日志具有以下內容:

ERROR [geoserver.rest] - Could not determine format. Try setting the Content-type header.
org.geoserver.rest.RestletException
at org.geoserver.rest.AbstractResource.getFormatPostOrPut(AbstractResource.java:173)
at org.geoserver.rest.ReflectiveResource.handlePost(ReflectiveResource.java:116)
at org.restlet.Finder.handle(Finder.java:296)
at org.geoserver.rest.BeanDelegatingRestlet.handle(BeanDelegatingRestlet.java:37)
at org.restlet.Filter.doHandle(Filter.java:105)
at org.restlet.Filter.handle(Filter.java:134)
at org.restlet.Router.handle(Router.java:444)
at org.geoserver.rest.RESTDispatcher$1.handle(RESTDispatcher.java:204)
at com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:129)
at org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:86)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
[...]

Inetc的文檔沒有指出/headerinetc::postinetc::put的可用選項,這inetc::post 但是,我已經確認可以使用/headerinetc::post請求設置Content-type, inetc::post在GeoServer中創建工作區和樣式。 inetc::put有一些不同之inetc::put ,要么需要不同的語法,要么就是實現不正確。

我還沒有發現有人執行inetc::put的單個示例,在該inetc::put中他們設置了請求的Content-type。 我嘗試將/header放在URLlocal_file之前,之間和之后。 我可以使用Firefox附加組件“海報”並使用cURL執行PUT。 但是它不適用於Inetc。

我正在使用我上面共享的鏈接中提供的最新版本的Inetc。

我只是看了一下源代碼,在執行PUT時,INetC將在添加標頭之后使用HttpAddRequestHeaders(..., HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE)添加“ Content-Type:八位字節流”和“ Content-Length:%size%”由呼叫者指定。

您應該要求作者在其他標題之前添加“ Content-Type”標題,以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM