2015-08-13 2 views
0

Кто-нибудь знает, как загрузить приложение в HP ALM через RESTful? В настоящее время я пишу свой заголовок запроса/Тело в этой форме:Как загружать вложения в HP ALM через RESTful

Dim request As WebRequest = WebRequest.Create("https://[server].saas.hp.com/qcbin/rest/domains/[DOMAIN_NAME]/projects/[PROJECT_NAME]/runs/[ID_EXECUTION]/attachments/") 

request4.Method = "Post" 

Dim fileToSend As Byte() = File.ReadAllBytes("C:\Users\ECELESTE\Desktop\Teste.txt") 
Dim preAttachment As String = "Content-Disposition" + ": " + "form-data; filename=""Test.txt""" 

request.ContentType = "multipart/form-data; boundary=boundary" 

Using requestStream As Stream = request.GetRequestStream() 
    Dim preAttachmentBytes As Byte() = UnicodeEncoding.UTF8.GetBytes(preAttachment) 
    requestStream.Write(preAttachmentBytes, 0, preAttachmentBytes.Length) 
    requestStream.Write(fileToSend, 0, fileToSend.Length) 
End Using 

Dim webResponse As WebResponse = request.GetResponse() 

Но этот код возвращает ошибку (500 - Внутренняя ошибка сервера).

Дополнительная информация: HP ALM версия 12,01/Код языка VB.NET

Спасибо!

+0

Не так ли, что вы использовали неправильное имя файла? Тот, что на вашем рабочем столе называется «TestE.txt», имя файла, которое вы укажете, имеет имя Test.txt. Вы не могли бы проверить? –

ответ

1

Похоже, что искомое поле формы отсутствует, «имя файла».

Также, пожалуйста, используйте значение «граница», указанное в «ContentType», чтобы разделить каждое поле формы.

Прежде всего, «requestStream» в вашем коде должны написать ниже содержание:

--boundary 
Content-Disposition: form-data; name="filename" 

Test.txt 
--boundary 
Content-Disposition: form-data; name="file"; filename="Test.txt" 
Content-Type: text/plain 

[Content of file, your "fileToSend"] 
--boundary-- 

Имя файла в разделе «Имя файла» должно быть идентично имени файла в разделе «Файл».

Надеюсь, это полезно для вас.

Смежные вопросы