VBA отправляет через POST файл с параметрами - PullRequest
0 голосов
/ 17 апреля 2020

Я видел много примеров с параметрами 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...