如何发送" multipart / related" Actionscript中的内容类型?

时间:2011-03-17 00:47:57

标签: flash flex actionscript-3 content-type

如果我想通过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--

如何编写动作脚本以发送“多部分/相关”内容类型 请指教。感谢。

2 个答案:

答案 0 :(得分:1)

可能有用的一点是使用类似AS3 HTTPClient库的东西 - 它们具有辅助方法,用于普通AS3不会执行的各种请求/响应标头操作。您可以在此处找到它:http://code.google.com/p/as3httpclientlib/

除了简单的HTTP get / post之外的任何事情都是Flash的痛苦,而且多部分POST特别棘手。如果那个httpclient没有做你需要的东西让我知道,我过去曾经有过这样的实用工具。如果你需要,我可以为你挖掘它,请告诉我!

希望有所帮助, MYK

答案 1 :(得分:1)

Inspirit's MultipartURLLoader可能会有所帮助。 没有将它用于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。