Does the emulation example [1] work for you?

[1] 
https://github.com/apache/royale-asjs/blob/develop/examples/mxroyale/FileReference/src/main/royale/FileReference.mxml

From: MikeH<mailto:mikehort...@googlemail.com.INVALID>
Sent: Friday, May 29, 2020 10:05 PM
To: dev@flex.apache.org<mailto:dev@flex.apache.org>
Subject: Royale File Upload

Hi, im trying to convert a Flash Builder(Flex) project into an Apache Royale
project for the web. and im getting stuck over file uploads. I have looked
at the samples using the FileProxy method but keep getting errors. I am
using the new 0.9.7 sdk. My code is below. Any thoughts would be great.

My mxml declaration for FileProxy

<fx:Declarations>
        <js:FileProxy id="myFileProxy"
modelChanged="FP_ModelChangedHandler(event)">
                <js:beads>
                        <js:FileBrowser id="myBrowser"/>
                        <js:FileLoader id="myLoader"/>
                        <js:FileUploaderWithResponseData 
id="fileUploaderWithResponseData"/>
                        <js:FileModelWithParams id="fileModelWithParams"/>
                </js:beads>
        </js:FileProxy>
</fx:Declarations>



My Actionscript: Taken from the sample file:


//called on button click
protected function
select_file_clickHandler(event:org.apache.royale.events.MouseEvent):void{
        myBrowser.browse();

}


protected function
FP_ModelChangedHandler(event:org.apache.royale.events.Event):void{
        myFileProxy.model.addEventListener("blobChanged", blobChangedHandler);

        trace('loading: ' +  myFileProxy.name);
        myLoader.load();

}

private function blobChangedHandler(e:org.apache.royale.events.Event):void{
        var fileModel:FileModelWithParams = myFileProxy.model as
FileModelWithParams;
        fileModel.addEventListener(Event.COMPLETE,onUploadComplete);

        fileModelWithParams.setParam("username",my_user_name,fileModel.name);
        fileModelWithParams.setParam("visibility_rights",0,fileModel.name);
        fileModelWithParams.setParam("userid",67,fileModel.name);


fileUploaderWithResponseData.upload("https://localhost/royale/uploadfile.php";);
}

// Called on upload complete
private function onUploadComplete(event:Event):void {
        trace("onUploadComplete: " + event)
}


//Error message in vscode:

TypeError: Failed to execute 'set' on 'FormData': parameter 2 is not of type
'Blob'.
    at org.apache.royale.file.beads.FileModelWithParams.setParam (c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\org\apache\royale\file\beads\FileModelWithParams.js:57:72)
    at
components.EportfolioEvidenceTypeSelector.components_EportfolioEvidenceTypeSelector_blobChangedHandler
(c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\src\components\EportfolioEvidenceTypeSelector.mxml:247:37)
    at
org.apache.royale.file.beads.FileModelWithParams.org.apache.royale.events.EventDispatcher.fireListeners
(c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\org\apache\royale\events\EventDispatcher.js:117:24)
    at Function.goog.events.EventTarget.dispatchEventInternal_ (c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\library\closure\goog\events\eventtarget.js:382:27)
    at
org.apache.royale.file.beads.FileModelWithParams.org.apache.royale.events.EventDispatcher.dispatchEvent
(c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\org\apache\royale\events\EventDispatcher.js:80:38)
    at org.apache.royale.file.beads.FileModelWithParams.set__fileContent
(c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\org\apache\royale\file\beads\FileModelWithParams.js:67:9)
    at org.apache.royale.file.beads.FileLoader.fileLoadHandler (c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\org\apache\royale\file\beads\FileLoader.js:60:71)
    at Function.goog.events.fireListener [as googFireListener] (c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\library\closure\goog\events\events.js:753:22)
    at Object.org.apache.royale.core.ElementWrapper.fireListenerOverride [as
fireListener] (c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\org\apache\royale\core\ElementWrapper.js:62:52)
    at FileReader.goog.events.handleBrowserEvent_ (c:\xampp
1.8.1\htdocs\AthenaEportfolioJSVS\bin\js-debug\library\closure\goog\events\events.js:879:23)



--
Sent from: http://apache-flex-development.2333347.n4.nabble.com/

Reply via email to