English 中文(简体)
如何将BitmapData上载到服务器(行动3)?
原标题:How to upload BitmapData to a server (ActionScript 3)?

I have bitmapData. I want to upload it to a server using URLLoader. I tried many ways, but with no result. This is my current code in ActionScript 3:

import flash.net.URLLoader;
import flash.net.URLRequest;
import mx.graphics.codec.JPEGEncoder;
...
var jpg:JPEGEncoder = new JPEGEncoder();
var myBytes:ByteArray = jpg.encode(bitmapData);
var uploader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("uploadFile.php");
request.contentType = "application/octet-stream";
request.data = myBytes;
uploader.load(request);

I take an object bitmapData and encode it to jpg. After that I try to send jpg-bytes to the file "uploadFile.php" on the server. But there are neither errors nor positive result. I will be grateful for any suggestions/advices.

最佳回答

这是此前使用的AS3代码I ve,这就要求申请机构提供双轨数据:

var url_request:URLRequest = new URLRequest();
url_request.url = "http://server.com/upload.php";
url_request.contentType = "binary/octet-stream";
url_request.method = URLRequestMethod.POST;
url_request.data = myByteArray;
url_request.requestHeaders.push(
 new URLRequestHeader( Cache-Control ,  no-cache ));

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
// attach complete/error listeners
loader.load(url_request);

我注意到,你没有确定数据格式,也没有确定数据格式。

请注意,这可以成为你重新进入的一个安全问题。 我看到了这样的情况,即这种守则必须针对用户行动加以执行(如纽扣)。

您还应核对服务器记录,看看该请求是否使服务器收到。 请注意,没有完全合格的url(从http://www.un.org开始),该服务器就从与您的SWF档案相同的地点为你的PHP文档服务。

问题回答

Your encoding of the image will break it because jpg data contains non-ascii characters.
Changing your contentType type to "image/jpeg" should fix it however this statement is untested.

When I send JPG to the server I always base64 encode it first and then decode it on the server side.

import mx.utils.Base64Encoder;

var b64:Base64Encoder = new Base64Encoder()
b64.encodeBytes( myBytes )
var encodedb64.toString();

request.data = b64.toString();




相关问题
Disable button tooltip in AS3

I want to disable the tooltip on certain buttons. The tooltip manager seems to be an all or nothing solution. Is it possible to disable the tooltip for just one or two buttons?

Sorting twodimensional Array in AS3

So, i have a two-dimensional Array of ID s and vote count - voteArray[i][0] = ID, voteArray[i][1] = vote count I want the top 3 voted items to be displayed in different colors, so i have a 2nd Array -...

Virtual Tour using sketch up, ajax, flash technologies

I want to know if there are existing technology that make your 3d models in sketch into virtual tours, using either Ajax or Flash for web presentation. If there s none, which will be a good approach ...

AS3 try/catch out of memory

I m loading a few huge images on my flex/as3 app, but I can t manage to catch the error when the flash player runs out of memory. Here is the what I was thinking might work (I use ???? because i dont ...

Red5 Security Tutorial

I am looking for a step by step tutorial on securing Red5 from intrusion. This seems to be a question that comes up alot in a google search, but is never really answered in a way that makes sense to ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

visible property of DisplayObject

For example I have a hierarchy of movie clips. mc1 is a child of mc, and mc2 is a child of mc1. Turns out that when I set mc1.visible = false; mc2.visible stays true. Is that supposed to happen?...

热门标签