curl:(26)无法打开文件

时间:2014-05-19 05:31:46

标签: php api curl box-api

当我试图通过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

7 个答案:

答案 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