Coldfusion - multipart / form-data - PullRequest
       11

Coldfusion - multipart / form-data

0 голосов
/ 12 сентября 2018

Я пытаюсь заставить метод API работать через Codfusion, который описан так:

HTTP-метод
• ПОСТ

Параметры запроса
NA

Заголовки запроса
• Принять

Тело запроса

• multipart / form-data
--85b890d4-4faf-4261-bcbb-187c4dddcbc6
Тип контента: application / vnd.emc.ax + json; кодировка = UTF-8
Content-Disposition: форма-данные; Имя = Данные

{
«Имя»: «имя партии»,
«Описание»: «описание партии»,
"Приват": false
}

--85b890d4-4faf-4261-bcbb-187c4dddcbc6
Тип содержимого: приложение / bin
Content-Disposition: форма-данные; имя = бен; имя файла = "test.pdf"; имя файла * = UTF-8''test.pdf

// содержимое файла bin

--85b890d4-4faf-4261-bcbb-187c4dddcbc6
Тип содержимого: приложение / bin
Content-Disposition: форма-данные; имя = аннотацию; имя файла = "0100002m.ano"; имя файла * = UTF-8''0100002m.ano

// содержание файла аннотации

--85b890d4-4faf-4261-bcbb-187c4dddcbc6
Тип содержимого: приложение / bin
Content-Disposition: форма-данные; имя = текст; имя файла = "test.txt"; имя файла * = UTF-8''test.txt

// содержимое файла ocr

--85b890d4-4faf-4261-bcbb-187c4dddcbc6--

Код, который я получил, возвращает:
{"ErrorCode": 9999, "Message": "Неожиданный конец многокомпонентного потока MIME. Составное сообщение MIME не завершено.", "InnerException": null}

Я проверил это через Fiddler (первая часть json, так как он не поддерживает multipart / form-data), и это было успешно. Я пробовал только часть json через coldfusion и получил ошибку, указанную выше.

Может кто-нибудь указать, где я иду не так?

Спасибо !!

Код:

 <cfset desc='{
    "Name": "batch name",
    "Description": "batch description",
    "Private": false
    }'>
 <cfset desc=serializejson(desc)>
 <cfoutput>
   <cfsavecontent variable="thestring">
     Content-Type: application/vnd.emc.ax+json; charset=utf-8
     Content-Disposition: form-data; name="data"
     #desc#

     --85b890d4-4faf-4261-bcbb-187c4dddcbc6
     Content-Type: application/bin
     Content-Disposition: form-data; name="bin"; filename="test.pdf"; filename*=utf-8"test.pdf"
     #abbreviated_b64#

     --85b890d4-4faf-4261-bcbb-187c4dddcbc6--
   </cfsavecontent>
 </cfoutput>

 <cfhttp url="https://imagingdev.gatech.edu/AppXtenderReST/api/AXDataSources/BDEVL/axbatches/507" method="post" username="lrobinson33" password="n0t34sy!" timeout="60" result='res'>
   <cfhttpparam type="header" name="Content-Type" value="multipart/form-data;boundary=--85b890d4-4faf-4261-bcbb-187c4dddcbc6"/>
   <cfhttpparam type="body" value="#trim(thestring)#">
 </cfhttp>
...