当我试图通过curl调用box api时,我收到此错误。
curl: (26) couldn't open file
无法找到原因!我用正确的文件名称这个api -
curl https://upload.view-api.box.com/1/documents \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-type: multipart/form-data" \
-F file=@A_correct_file_name
我已经看到了所有三个已经问过的问题,但其中有两个没有答案,一个是针对Facebook的。
cURL error 26 couldn't open file
Fatal error: Uncaught CurlException: 26: couldn't open file "" thrown in
Getting Fatal Error Uncaught CurlException: 26: couldn't open file
答案 0 :(得分:21)
在更改为PHP 5之后我遇到了类似的问题(我使用的是@
上传方法并且已弃用,因此我不得不开始使用CURLFile
),并解决了我的问题在stack中找到了。
解决方案:卷曲上传无法使用相对路径,请改用完整路径
答案 1 :(得分:6)
对不起伙计们!我的错。我没有在文件名中包含文件的扩展名。包括它之后,它起作用了。我正在回答这个问题,以防将来有人犯同样的错误。
答案 2 :(得分:2)
今天早上我遇到了这个问题,但我解决了这个问题
fileUpload=@\"file, with comma .txt\"
因此,如果文件名中有逗号,则必须在文件名周围添加一些双引号(\")
答案 3 :(得分:2)
我遇到了像@Guilherme这样的相对路径的类似问题。我正在运行我的bash脚本:
bash test/script.sh
但是,我的文件与bash脚本位于同一目录级别,而不是test
目录(我从中调用bash),因此脚本无法找到我的文件。
我的解决方案:
1.进入/测试并从那里运行bash script.sh
2.使用绝对路径
答案 4 :(得分:1)
我正在使用 PlateRecognizer.com 来保护我从行车记录仪中的视频中分离出来的照片中的车牌信息。我对确切的代码有很多问题。 PlateRecognizer 未在其帮助部分提供正确的信息。
我使用 Windows 10 笔记本电脑工作。这段代码最终对我有用:
curl -F upload=@/”Users/Me/Desktop/Driver1.mp4” -F regions=us-az -H “Authorization: Token 4892e779f97d879df6453” https://api.platerecognizer.com/v1/plate-reader/
注意文件路径和名称周围的双引号 - 而不是单引号。
答案 5 :(得分:0)
Luis Cruz是正确的:文件名必须加引号,但我需要使用'file'关键字,而不是'fileUpload',如问题所示。
curl -X GET \
-H 'Content-Type: multipart/form-data' \
-F file=@"/path/to/file.ext" \
'http://host:port/path/to/dir'
答案 6 :(得分:0)
对于我来说,使用相对路径无效。但是将其更改为绝对路径可以解决该问题。
失败了
curl -i -X POST -H "Content-Type: multipart/form-data" -F "file=@~/Downloads/xxx.csv" http://localhost:6708/upload
这有效
curl -i -X POST -H "Content-Type: multipart/form-data" -F "file=@/Users/myself/Downloads/xxx.csv" http://localhost:6708/upload