关于Flex传递ByteArray的问题
最近用flex写了一个在线拍照的功能,一切都进展的比较顺利,最后完成了将工具放到项目中使用,发现不能使用,经过查看才发现是因为我最后传递的图片数据是一个ByteArray 对象,然后虽然使用了multipart-formdata这种方式来做为头信息,但是发现不行,因为servlet容器在处理http头信息时发现你是上传的文件,他就会做相应的转换,具体做什么转换不清楚,总的来说就是,如果你的数据不符合multipart-formdata的话,容器就会把你“挡在门外”,如果要正确的接收前台的数据有两种方式 一、直接以字节流的方式传递,也就是说将头信息设置为如request.contentType = "application/octet-stream";形式 然后在服务器端直接读取这些数据 二、将数据的格式转化为符合multipart-formdata的形式,我在网上找到了一个人写的工具类,可以很方便的将数据转化为这种形式 具体做法很简单,贴点重要代码做参考 ? ? ? ? ? ? ? ?var url:String="http://www.test.com/upload/UploadAction.action";//上传地址自己根据实际情况定 ??????????????? //getPostData()方法主要是根据RFC1867来处理数据 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |