From baca123f136b80d259eb2ff71289979f8917521f Mon Sep 17 00:00:00 2001 From: Tomek Augustyn Date: Sat, 19 Mar 2011 11:28:11 +0000 Subject: [PATCH] tweaks --- com/marsonstudio/util/UploadPostHelper.as | 4 +- net/metafor/UploadPostHelper.as | 157 ---------------------- 2 files changed, 2 insertions(+), 159 deletions(-) delete mode 100644 net/metafor/UploadPostHelper.as diff --git a/com/marsonstudio/util/UploadPostHelper.as b/com/marsonstudio/util/UploadPostHelper.as index 0251ed6..0a96d29 100644 --- a/com/marsonstudio/util/UploadPostHelper.as +++ b/com/marsonstudio/util/UploadPostHelper.as @@ -1,5 +1,5 @@ -package { - +package com.marsonstudio.util +{ import flash.events.*; import flash.net.*; import flash.utils.ByteArray; diff --git a/net/metafor/UploadPostHelper.as b/net/metafor/UploadPostHelper.as deleted file mode 100644 index 0a96d29..0000000 --- a/net/metafor/UploadPostHelper.as +++ /dev/null @@ -1,157 +0,0 @@ -package com.marsonstudio.util -{ - import flash.events.*; - import flash.net.*; - import flash.utils.ByteArray; - import flash.utils.Endian; - - /** - * Take a fileName, byteArray, and parameters object as input and return ByteArray post data suitable for a UrlRequest as output - * - * @see http://marstonstudio.com/?p=36 - * @see http://www.w3.org/TR/html4/interact/forms.html - * @see http://www.jooce.com/blog/?p=143 - * @see http://www.jooce.com/blog/wp%2Dcontent/uploads/2007/06/uploadFile.txt - * @see http://blog.je2050.de/2006/05/01/save-bytearray-to-file-with-php/ - * - * @author Jonathan Marston - * @version 2007.08.19 - * - * This work is licensed under a Creative Commons Attribution NonCommercial ShareAlike 3.0 License. - * @see http://creativecommons.org/licenses/by-nc-sa/3.0/ - * - */ - public class UploadPostHelper { - - /** - * Boundary used to break up different parts of the http POST body - */ - private static var _boundary:String = ""; - - /** - * Get the boundary for the post. - * Must be passed as part of the contentType of the UrlRequest - */ - public static function getBoundary():String { - - if(_boundary.length == 0) { - for (var i:int = 0; i < 0x20; i++ ) { - _boundary += String.fromCharCode( int( 97 + Math.random() * 25 ) ); - } - } - - return _boundary; - } - - /** - * Create post data to send in a UrlRequest - */ - public static function getPostData(fileName:String, byteArray:ByteArray, parameters:Object = null):ByteArray { - - var i: int; - var bytes:String; - - var postData:ByteArray = new ByteArray(); - postData.endian = Endian.BIG_ENDIAN; - - //add Filename to parameters - if(parameters == null) { - parameters = new Object(); - } - parameters.Filename = fileName; - - //add parameters to postData - for(var name:String in parameters) { - postData = BOUNDARY(postData); - postData = LINEBREAK(postData); - bytes = 'Content-Disposition: form-data; name="' + name + '"'; - for ( i = 0; i < bytes.length; i++ ) { - postData.writeByte( bytes.charCodeAt(i) ); - } - postData = LINEBREAK(postData); - postData = LINEBREAK(postData); - postData.writeUTFBytes(parameters[name]); - postData = LINEBREAK(postData); - } - - //add Filedata to postData - postData = BOUNDARY(postData); - postData = LINEBREAK(postData); - bytes = 'Content-Disposition: form-data; filename="'; - for ( i = 0; i < bytes.length; i++ ) { - postData.writeByte( bytes.charCodeAt(i) ); - } - postData.writeUTFBytes(fileName); - postData = QUOTATIONMARK(postData); - postData = LINEBREAK(postData); - bytes = 'Content-Type: image/jpeg'; - for ( i = 0; i < bytes.length; i++ ) { - postData.writeByte( bytes.charCodeAt(i) ); - } - postData = LINEBREAK(postData); - postData = LINEBREAK(postData); - postData.writeBytes(byteArray, 0, byteArray.length); - postData = LINEBREAK(postData); - - //add upload filed to postData - postData = LINEBREAK(postData); - postData = BOUNDARY(postData); - postData = LINEBREAK(postData); - bytes = 'Content-Disposition: form-data; name="Upload"'; - for ( i = 0; i < bytes.length; i++ ) { - postData.writeByte( bytes.charCodeAt(i) ); - } - postData = LINEBREAK(postData); - postData = LINEBREAK(postData); - bytes = 'Submit Query'; - for ( i = 0; i < bytes.length; i++ ) { - postData.writeByte( bytes.charCodeAt(i) ); - } - postData = LINEBREAK(postData); - - //closing boundary - postData = BOUNDARY(postData); - postData = DOUBLEDASH(postData); - - return postData; - } - - /** - * Add a boundary to the PostData with leading doubledash - */ - private static function BOUNDARY(p:ByteArray):ByteArray { - var l:int = UploadPostHelper.getBoundary().length; - - p = DOUBLEDASH(p); - for (var i:int = 0; i < l; i++ ) { - p.writeByte( _boundary.charCodeAt( i ) ); - } - return p; - } - - /** - * Add one linebreak - */ - private static function LINEBREAK(p:ByteArray):ByteArray { - p.writeShort(0x0d0a); - return p; - } - - /** - * Add quotation mark - */ - private static function QUOTATIONMARK(p:ByteArray):ByteArray { - p.writeByte(0x22); - return p; - } - - /** - * Add Double Dash - */ - private static function DOUBLEDASH(p:ByteArray):ByteArray { - p.writeShort(0x2d2d); - return p; - } - - } -} \ No newline at end of file