Как отправить «составной / связанный» тип контента в Actionscript? - PullRequest
1 голос
/ 17 марта 2011

Если я хочу отправить тело следующего формата в actioncript через http Post:

Content-Type: multipart/related; boundary="END_OF_PART"
Content-Length: 423478347
MIME-version: 1.0

Media multipart posting
--END_OF_PART
Content-Type: application/atom+xml

<entry xmlns='http://www.w3.org/2005/Atom'>
  <title>plz-to-love-realcat.jpg</title>
  <summary>Real cat wants attention too.</summary>
  <category scheme="http://schemas.google.com/g/2005#kind"
    term="http://schemas.google.com/photos/2007#photo"/>
</entry>
--END_OF_PART
Content-Type: image/jpeg

...binary image data...
--END_OF_PART--

Как я могу написать код действия для отправки типа содержимого "multipart / related".
Пожалуйста посоветуй. Спасибо.

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

MultipartURLLoader Inspirit , вероятно, поможет.Не использовал его для multipart / related, но у него много полезных функций для добавления файлов с разными типами контента.

Например, вы можете добавлять файлы с разными типами контента, используя функцию addFile:

addFile(fileContent:ByteArray, fileName:String, dataField:String = 'Filedata', contentType:String = 'application/octet-stream')

Кажется, что он использует multipart / form-data при отправке:

urlRequest.requestHeaders.push( new URLRequestHeader('Content-type', 'multipart/form-data; boundary=' + getBoundary()) );

, но вы можете легко расширить это, чтобы использовать multipart / related.

1 голос
/ 17 марта 2011

Одна вещь, которая может помочь, - это использовать что-то вроде библиотеки AS3 HTTPClient - у них есть вспомогательные методы для всех видов манипуляций с заголовками запросов / ответов, которые не подойдет обычному AS3. Вы можете найти его здесь: http://code.google.com/p/as3httpclientlib/

Делать что-либо, кроме простого HTTP get / post, всегда непросто во Flash, а многостраничный POST особенно сложен. Если этот httpclient не делает то, что вам нужно, дайте мне знать, и у меня есть еще одна утилита, которую я использовал для этого в прошлом. Я могу выкопать это для вас, если вам это нужно, просто дайте мне знать!

Надеюсь, это поможет, MYK

...