How to retrieve JSON result after file upload via

2019-08-08 10:49发布

问题:

I know how to upload a file using action script

See upload a zip file using HTTP POST via actionscript 3.0 for details.

Code replicated here:

var urlRequest:URLRequest = new URLRequest(PUBLISH_ZIP_FILE_URL);
// set to method=POST
urlRequest.method = URLRequestMethod.POST;

var params:URLVariables = new URLVariables();

params['data[File][title]'] = 'Title1';
params['data[File][description]'] = 'desc';

// this is where we include those non file params and data
urlRequest.data = params;


// now we upload the file
// this is how we set the form field expected for the file upload
file.upload(urlRequest, "data[File][filename]");

The web app responsible for accepting the file upload will return a JSON string containing details such as file size, id number, etc.

How do I access this JSON result string in my actionscript?

回答1:

From the FileReference docs, you need to add a handler to your FileReference instance for the uploadCompleteData event:

import flash.events.*;

// now we upload the file
// this is how we set the form field expected for the file upload
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
file.upload(urlRequest, "data[File][filename]");

private function uploadCompleteDataHandler(event:DataEvent):void  
{
     trace("uploadCompleteData data: " + event.data);
}