2017-03-24 32 views
0

我有問題,那嫋嫋不上載我的所有數據,下面的命令不起作用:
tar -cz folder | curl -X PUT -d @- http://example.com/api/take/file嫋嫋不發送的所有內容上看跌-d

以下命令作品:
tar -cz folder | curl -X PUT -T - http://example.com/api/take/file

是否有人知道什麼是對這種行爲的原因。

+0

我會檢查請求頭字段;也許一個變種使用gzip編碼,你的服務器不能處理它? –

+0

頭字段是相同的,除了內容長度。在-d @的情況下 - 請求中的Content-Length標題已經有錯誤的編號(大小)。 – haschibaschi

回答

0

好吧,我發現根源在捲曲的文檔:

--data-ascii <data> 

(HTTP) This is just an alias for -d, --data. 

所以,當你只使用-d那麼數據就會發送爲ASCII。 按照文檔的二進制數據應與--data-binary的確以下命令來發送工作
tar -cz folder | curl -X PUT --data-binary @- http://example.com/api/take/file