我需要将 3 个表单数据字段和文本文件发布到 api 端点。我正在使用 msxml2.serverXMLhttp.6.0 并且我有几个 API 调用可以正常工作。但是有一个需要上传文本文件的地方。
我正在创建多部分有效负载,但我不确定如何上传文件。API 文档在这里http://developer.act-on.com/documentation/list-api/endpoint-update-merge-list/
我相信这不是特定于 API 的,而是使用 msxml2.serverXMLhttp.6.0 和 multipart/form-data 获取文本文件和一些表单字段传输的简单问题
我知道我错过了一些东西,这可能很明显......只是对我来说不是
strRequestStart = "--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""listname""" & vbCrlf & vbCrlf & _
"rob666" & vbCrlf & vbCrlf & _
"--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""foldername""" & vbCrlf & vbCrlf & _
"" & vbCrlf & vbCrlf & _
"--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""headings""" & vbCrlf & vbCrlf & _
"N" & vbCrlf & vbCrlf & _
"--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""fieldseparator""" & vbCrlf & vbCrlf & _
"COMMA" & vbCrlf & vbCrlf & _
"--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""quotecharacter""" & vbCrlf & vbCrlf & _
"DOUBLE_QUOTE" & vbCrlf & vbCrlf & _
"--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""uploadspecs""" & vbCrlf & vbCrlf & _
Server.URLEncode(uploadspecs) & vbCrlf & vbCrlf & _
"--" & strBoundary & vbCrlf & _
"Content-Disposition: form-data; name=""file""; filename=""" & strFilename & """" & vbCrlf & _
"Content-Type: text/comma-separated-values" & vbCrlf & _
"--" & strBoundary & "--" & vbCrlf
set HTTP=server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
HTTP.Open "POST", ("https://restapi.actonsoftware.com/api/1/list"), False
HTTP.setRequestHeader "Content-Type","multipart/form-data; boundary=--" & sBoundary
HTTP.setRequestHeader "Authorization", "Bearer " & access_token
HTTP.send(strRequestStart)
文本文件与asp页面在同一目录下,权限正确。我已经正确配置了边界段并在最后关闭了边界
是否需要内容长度?