R post/post表单上传问题
我正在尝试通过API将文件上载到平台 来自终端的CUrl请求可以正常工作R post/post表单上传问题,r,authentication,curl,oauth,httr,R,Authentication,Curl,Oauth,Httr,我正在尝试通过API将文件上载到平台 来自终端的CUrl请求可以正常工作 curl -v --trace-ascii trace.txt -H "Authorization: Bearer XXXX-XXXX-XXXX-XXXX" -F "file=@test1234.txt;type=text/txt" https://xxx.YYYY/upload 但是在R中,当我使用Post时,我得到状态500错误 outfilename="/Volumes/Work/texttest.txt" P
curl -v --trace-ascii trace.txt -H "Authorization: Bearer XXXX-XXXX-XXXX-XXXX" -F "file=@test1234.txt;type=text/txt" https://xxx.YYYY/upload
但是在R中,当我使用Post时,我得到状态500错误
outfilename="/Volumes/Work/texttest.txt"
POST(url="https://xxx.YYYY/upload",body = upload_file(
path = outfilename,
type = 'text/txt'),
verbose(),add_headers(Authorization=paste0("Bearer ",btoken$access_token)))
或
有人能帮忙吗
编辑:让它与postForm一起工作,如果有人帮助解释为什么它不能与POST一起工作,那就太好了
httpheader <- c(Authorization=paste0("Bearer ",btoken$access_token))
status<-postForm(uri=paste0(server,"upload"),file = fileUpload(filename = outfilename),.opts=list(httpheader=httpheader))
httpheader对于POST
,最相似的翻译是
POST(url="https://xxx.YYYY/upload",
body = list(file=upload_file(
path = outfilename,
type = 'text/txt')
),
verbose(),
add_headers(Authorization=paste0("Bearer XXXX-XXXX-XXXX-XXXX"))
)
注意body=
是一个列表。这会将数据作为表单数据提交,这就是curl-F
选项所做的
注意,我发现使用像这样的站点可以更容易地解决这些问题。通过发布到该站点,您可以准确地看到发送到服务器的内容,以及两种方法之间请求的差异。对于POST
,最相似的翻译是
POST(url="https://xxx.YYYY/upload",
body = list(file=upload_file(
path = outfilename,
type = 'text/txt')
),
verbose(),
add_headers(Authorization=paste0("Bearer XXXX-XXXX-XXXX-XXXX"))
)
注意body=
是一个列表。这会将数据作为表单数据提交,这就是curl-F
选项所做的
注意,我发现使用像这样的站点可以更容易地解决这些问题。通过发布到该站点,您可以确切地看到发送到服务器的内容,以及两种方法之间请求的差异