Неверный вопрос, см. мое обновление ниже
Мне нужно интегрировать мой проект AngularJS с существующим API RESTful. Эти API используют запрос POST, который upload a file
, а также передает данные формы в запрос. К сожалению, один из входных данных формы должен находиться в Content-Type: Application/json
.
После поиска в Интернете я мог только POST
с Content-Type: multipart/form-data
, в котором каждая из частей не имеет определенного MIME
.
Как я могу составить свой multipart/form-data
с другим MIME
для каждой части в Javascript?
POST /api/v1/inventory
Host: localhost:8000
Origin: http://localhost:9000
Content-Type: multipart/form-data; boundary=------border
------border
Content-Disposition: form-data; name="owner"
john doe
------border
Content-Disposition: form-data; name="image"; filename="mybook.png"
Content-Type: image/png
------border
Content-Disposition: form-data; name="items"
Content-Type: application/json
{"name": "Book", "quantity": "12"}
------border--
Соответствующие ссылки:
- https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects
- REST - многопользовательский пост HTTP с JSON
- http://code.activestate.com/recipes/578846-composing-a-postable-http-request-with-multipartfo/
- application/x-www-form-urlencoded или multipart/form-data?
- qaru.site/info/89994/...
Update
Извиниться за неправильный вопрос. Первоначальная проблема заключается в том, что я вижу, как сервер вызывает логику, например,
func POST(req):
owner = req.owner // This is string
image = req.image // This is file object
itemQuantity = req.items.quantity // Items is an object with attribute quantity
itemName = req.items.name // Items is an object with attribute name
Мне также удалось выяснить, как отправить такой почтовый запрос. Я отправлю свой ответ ниже.
Еще раз жаль, что задал неправильный вопрос.