有人可以解释为什么我的python代码无法将文件上传到api
logger.info("is videofilethere : {} \n".format(os.path.isfile('/tmp/' + videoFileName + '.mp4')))
[INFO] 2017-10-23T05:59:26.274Z 52e8b51d-b7b7-11e7-b687-450a720c44f3是 videofilethere:真的
但
[ERROR] 2017-10-23T05:59:26.278Z 52e8b51d-b7b7-11e7-b687-450a720c44f3 [Errno 2]
没有这样的文件或目录
result = subprocess.call("curl -X POST \
--header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
--header Authorization: Bearer sometoken \
-F asset='{ \"folderId\": \"12345\", \
\"name\": \"blH\", \
\"description\": \"Cool new Asset!\", \
\"text\": \"Text body.\", \
\"EntityType\": \"Asset\"}' \
;type=application/json' \
-F video=@/tmp/somefile.mp4 \
-F videoSize=7689755} \
\"https://api.blahblah/12345/asset?multipart\" \
")
return result
答案 0 :(得分:1)
这与您的/tmp/somefile.mp4
无关。
subprocess.call
找不到curl
。您应该在shell=True
中使用call
。这是一个简化的例子:
def lambda_handler(event, context):
import subprocess
result = subprocess.call("curl -I http://google.com", shell=True)
return result