文件post到服务器,http请求,POST一个文件到服务器,

http 请求服务器,其它的都正常,现在需要POST一个文件到服务器,本地文件,这个文件怎么处理,才可以装入POST,麻烦指教啊!网上找了很多代码,都不对啊,请大神赐教,谢谢。

错误代码如下:

Sub fileup()

SchemaCode = "D000867chen0527"

FilePropertyName = "photo"

BizObjectId = "b1b9ed47-151c-4447-92e9-c602cddc427b"

URL = "https://www.h3yun.com/OpenApi/UploadAttachment?SchemaCode=" & SchemaCode & "FilePropertyName=" & FilePropertyName & "BizObjectId=" & BizObjectId

cFile = "E:\image\322574.jpg"

Dim http As MSXML2.ServerXMLHTTP

Set http = New MSXML2.ServerXMLHTTP

http.Open "POST", URL, False

Dim b() As Byte, strFile As String

boundary = "----------" & RandomString()

postData = "--" & boundary & vbCrLf

postData = postData & "Content-Disposition: form-data; name=\""albumid\""" & vbCrLf

postData = postData & vbCrLf & "天aaaaa123" & vbCrLf

postData = postData & "--" & boundary & vbCrLf

postData = postData & "Content-Disposition: form-data; name=""photo[]""; filename=""" & cFile & """" & vbCrLf

postData = postData & "Content-Type: image/gif" & vbCrLf

ReDim b(FileLen(cFile))

ff = FreeFile

Open cFile For Binary As #ff

Get #ff, , b

Close #ff

strFile = b

postData = StrConv(postData & vbCrLf, vbFromUnicode) & LeftB(s, UBound(b)) & ChrB(13) & ChrB(10)

postData = postData & StrConv("--" & boundary & "--" & vbCrLf, vbFromUnicode)

http.setRequestHeader "Content-Type", "multipart/form-data; boundary=" & boundary

ReDim b(LenB(postData))

b = postData

HexStr = ""         '这一段是我显示提交的数据

For i = 0 To UBound(b)

Debug.Print IIf(b(i) < 16, "0", "") & Hex(b(i)); " ";

HexStr = HexStr & IIf(b(i) < 32 Or b(i) > 127, ".", Chr(b(i)))

If i Mod 16 = 15 Then Debug.Print "  " & HexStr: HexStr = ""

Next

http.setRequestHeader "Content-Length", UBound(b)

http.send b

http.waitForResponse

Debug.Print http.getAllResponseHeaders

Debug.Print StrConv(http.responseBody, vbUnicode)

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值