Я видел много примеров с параметрами POSTing, и я видел несколько примеров с отправкой файлов, но я не могу объединить их в работающий запрос.
Я пытаюсь отправить файл с дополнительными параметрами, но я не могу заставить его работать.
Ошибка, которую я получаю из ответа HTTP:
Result: Error occured on server: Index was out of range.
Must be Non-negative and less than the size of the collection.
Parameter name: index
Вот функция VBA с использованием Microsoft Сервисы WinHTTP, версия 5.1
Public Function sendFile(myUrl As String, f As Integer, r as Integer, filePath as String) As String
'myUrl is in the format: "http://website/folder/apage.ashx"
'filePath is in the format: "C:\\myfolder\\subfolder\\myfile.xlsm"
Dim postData As String
postData = "f=" & f & "&r=" & r
Dim WebClient As WinHttp.WinHttpRequest
Set WebClient = New WinHttp.WinHttpRequest
With WebClient
.Open "POST", myUrl, False
.SetRequestHeader "Content-Disposition", "attachment; filename=""" & filePath & """"
.SetRequestHeader "Content-Type", "application/octet-stream"
.sEnd postData
.WaitForResponse
sendFile = .ResponseText
End With
End Function