我正在尝试上传脚本(sh / perl / python / etc):
curl -i -u<username:password> -T file.sh "http://my.server/directory"
,Artifactory中的结果文件标题为:
HTTP/1.1 200 OK
Server: Artifactory/4.2.0
X-Artifactory-Id: 8e3d0483423c1418:-6b134231:162ec3535a99:-8000
Last-Modified: Tue, 08 May 2018 16:54:33 GMT
ETag: a903f23377d76670a1ea646cfaeae8793ba0f975
X-Checksum-Sha1: a903f23377d764470a1ea646cfaeae4f93ba0f975
Accept-Ranges: bytes
X-Checksum-Md5: a6b42e04c9a849772975a46b05718748
X-Artifactory-Filename: file.txt
Content-Disposition: attachment; filename="file.sh"; filename*=UTF-8''file.sh
Content-Type: application/octet-stream
Content-Length: 22982
Date: Tue, 08 May 2018 16:54:51 GMT
所以当我得到脚本并尝试执行它时,我收到一个错误。 Artifactory中是否有配置停止对基于文本的文件进行此更改?
答案 0 :(得分:1)
我不希望文件上传有任何问题,也不希望文件头存在于Artifactory内部的文件中。我认为下载文件时会出现此问题。
您的问题似乎是curl
在打印文件内容之前将标题打印到stdout
,因此它们都出现在下载的文件中。为避免这种情况,下载文件时请勿传递-i
。如果需要查看标题,则可以传递-v
,它将把标题(和其他信息)打印到stderr
,这意味着它将被写入屏幕而不是文件。