Hi Yishay, Do we need this trace in BinaryUploader ? :)
Thanks, Piotr 2017-07-04 13:16 GMT+02:00 <yish...@apache.org>: > Repository: flex-asjs > Updated Branches: > refs/heads/develop f1108167c -> e083f6ab1 > > > Added FileIUploader, fixed BinaryUploader > > > Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo > Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/e083f6ab > Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/e083f6ab > Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/e083f6ab > > Branch: refs/heads/develop > Commit: e083f6ab14acafd07fad8fa2b1827a931cefb4fd > Parents: f110816 > Author: DESKTOP-RH4S838\Yishay <yishayj...@hotmail.com> > Authored: Tue Jul 4 14:14:33 2017 +0300 > Committer: DESKTOP-RH4S838\Yishay <yishayj...@hotmail.com> > Committed: Tue Jul 4 14:14:33 2017 +0300 > > ---------------------------------------------------------------------- > .../org/apache/flex/file/beads/FileBrowser.as | 1 - > .../org/apache/flex/file/beads/FileLoader.as | 4 +- > .../org/apache/flex/file/beads/FileModel.as | 32 +++++++ > .../org/apache/flex/file/beads/FileUploader.as | 98 ++++++++++++++++++++ > .../flex/org/apache/flex/net/BinaryUploader.as | 13 ++- > .../src/main/resources/basic-manifest.xml | 2 + > 6 files changed, 144 insertions(+), 6 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > e083f6ab/frameworks/projects/Network/src/main/flex/org/ > apache/flex/file/beads/FileBrowser.as > ---------------------------------------------------------------------- > diff --git > a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileBrowser.as > b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileBrowser.as > index 029cf97..5d48c00 100644 > --- a/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileBrowser.as > +++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileBrowser.as > @@ -32,7 +32,6 @@ package org.apache.flex.file.beads > import org.apache.flex.events.Event; > import org.apache.flex.core.WrappedHTMLElement; > import goog.events; > - > } > > /** > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > e083f6ab/frameworks/projects/Network/src/main/flex/org/ > apache/flex/file/beads/FileLoader.as > ---------------------------------------------------------------------- > diff --git > a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoader.as > b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileLoader.as > index f49fb87..0110719 100644 > --- a/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileLoader.as > +++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileLoader.as > @@ -17,14 +17,12 @@ > //////////////////////////////////////////////////////////// > //////////////////// > package org.apache.flex.file.beads > { > - import flash.events.Event; > - > import org.apache.flex.core.IBead; > import org.apache.flex.core.IStrand; > import org.apache.flex.file.FileProxy; > import org.apache.flex.utils.BinaryData; > > - COMPILE::JS > + COMPILE::SWF > { > import flash.events.Event; > } > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > e083f6ab/frameworks/projects/Network/src/main/flex/org/ > apache/flex/file/beads/FileModel.as > ---------------------------------------------------------------------- > diff --git > a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileModel.as > b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileModel.as > index bddbb09..fa5b314 100644 > --- a/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileModel.as > +++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileModel.as > @@ -19,7 +19,9 @@ package org.apache.flex.file.beads > { > import org.apache.flex.core.IBeadModel; > import org.apache.flex.core.IStrand; > + import org.apache.flex.events.Event; > import org.apache.flex.events.EventDispatcher; > + import org.apache.flex.utils.BinaryData; > > COMPILE::SWF > { > @@ -40,6 +42,7 @@ package org.apache.flex.file.beads > public class FileModel extends EventDispatcher implements > IBeadModel > { > private var _strand:IStrand; > + private var _blob:BinaryData; > COMPILE::SWF > { > private var _data:FileReference; > @@ -152,5 +155,34 @@ package org.apache.flex.file.beads > _strand = value; > } > > + /** > + * @private > + */ > + COMPILE::SWF > + public function get fileReference():FileReference > + { > + return _data as FileReference; > + } > + > + /** > + * @private > + */ > + COMPILE::JS > + public function get file():File > + { > + return _data as File; > + } > + > + public function get blob():BinaryData > + { > + return _blob; > + } > + > + public function set blob(value:BinaryData):void > + { > + _blob = value; > + dispatchEvent(new Event("blobChanged")); > + } > + > } > } > \ No newline at end of file > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > e083f6ab/frameworks/projects/Network/src/main/flex/org/ > apache/flex/file/beads/FileUploader.as > ---------------------------------------------------------------------- > diff --git > a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploader.as > b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileUploader.as > new file mode 100644 > index 0000000..8a3f849 > --- /dev/null > +++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > file/beads/FileUploader.as > @@ -0,0 +1,98 @@ > +// > +// Licensed to the Apache Software Foundation (ASF) under one or more > +// contributor license agreements. See the NOTICE file distributed with > +// this work for additional information regarding copyright ownership. > +// The ASF licenses this file to You under the Apache License, Version > 2.0 > +// (the "License"); you may not use this file except in compliance with > +// the License. You may obtain a copy of the License at > +// > +// http://www.apache.org/licenses/LICENSE-2.0 > +// > +// Unless required by applicable law or agreed to in writing, software > +// distributed under the License is distributed on an "AS IS" BASIS, > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > +// See the License for the specific language governing permissions and > +// limitations under the License. > +// > +/////////////////////////////////////////////////////////// > ///////////////////// > +package org.apache.flex.file.beads > +{ > + import org.apache.flex.core.IBead; > + import org.apache.flex.core.IStrand; > + import org.apache.flex.file.FileProxy; > + import org.apache.flex.net.BinaryUploader; > + import org.apache.flex.net.URLRequest; > + > + COMPILE::SWF > + { > +// import flash.net.URLRequest; > + } > + > + COMPILE::JS > + { > + import org.apache.flex.events.Event; > + import org.apache.flex.core.WrappedHTMLElement; > + import goog.events; > + > + } > + > + /** > + * The FileUploader class is a bead which adds to FileProxy > + * the ability to upload files. > + * > + * > + * @toplevel > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.9 > + */ > + public class FileUploader implements IBead > + { > + private var _strand:IStrand; > + > + > + /** > + * Open up the system file browser. A user selection will > trigger a 'modelChanged' event on the strand. > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.9 > + */ > + public function upload(url:org.apache.flex. > net.URLRequest):void > + { > +// COMPILE::SWF > +// { > +// var flashURL:flash.net.URLRequest = new > URLRequest(url.url); > +// (host.model as FileModel).fileReference. > upload(flashURL); > +// } > + var binaryUploader:BinaryUploader = new > BinaryUploader(); > + binaryUploader.binaryData = (host.model as > FileModel).blob; > + binaryUploader.url = url.url; > + binaryUploader.send(); > + } > + > + /** > + * @copy org.apache.flex.core.IBead#strand > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion FlexJS 0.9 > + */ > + public function set strand(value:IStrand):void > + { > + _strand = value; > + } > + > + /** > + * @private > + */ > + private function get host():FileProxy > + { > + return _strand as FileProxy; > + } > + > + } > +} > \ No newline at end of file > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > e083f6ab/frameworks/projects/Network/src/main/flex/org/apache/flex/net/ > BinaryUploader.as > ---------------------------------------------------------------------- > diff --git > a/frameworks/projects/Network/src/main/flex/org/apache/flex/net/BinaryUploader.as > b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > net/BinaryUploader.as > index a37adbb..1fb89e6 100644 > --- a/frameworks/projects/Network/src/main/flex/org/apache/flex/ > net/BinaryUploader.as > +++ b/frameworks/projects/Network/src/main/flex/org/apache/flex/ > net/BinaryUploader.as > @@ -91,7 +91,6 @@ package org.apache.flex.net > /** > * The BinaryUploader class is a class designed to upload binary data > * over HTTP. > - * > * @langversion 3.0 > * @playerversion Flash 10.2 > * @playerversion AIR 2.6 > @@ -104,10 +103,20 @@ package org.apache.flex.net > super(); > COMPILE::JS > { > - element = new XMLHttpRequest() as WrappedHTMLElement; > + createElement(); > } > } > > + /** > + * @flexjsignorecoercion org.apache.flex.core. > WrappedHTMLElement > + */ > + COMPILE::JS > + private function createElement():void > + { > + element = new XMLHttpRequest() as > WrappedHTMLElement; > + trace(element); > + } > + > private var _contentType:String = > "application/octet-stream"; > > /** > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > e083f6ab/frameworks/projects/Network/src/main/resources/basic-manifest.xml > ---------------------------------------------------------------------- > diff --git a/frameworks/projects/Network/src/main/resources/basic-manifest.xml > b/frameworks/projects/Network/src/main/resources/basic-manifest.xml > index b69c4a4..2222c62 100644 > --- a/frameworks/projects/Network/src/main/resources/basic-manifest.xml > +++ b/frameworks/projects/Network/src/main/resources/basic-manifest.xml > @@ -25,4 +25,6 @@ > <component id="CORSCredentialsBead" class="org.apache.flex.net. > beads.CORSCredentialsBead"/> > <component id="FileProxy" class="org.apache.flex.file.FileProxy"/> > <component id="FileBrowser" class="org.apache.flex.file. > beads.FileBrowser"/> > + <component id="FileLoader" class="org.apache.flex.file. > beads.FileLoader"/> > + <component id="FileUploader" class="org.apache.flex.file. > beads.FileUploader"/> > </componentPackage> > >