var fileRef:FileReference=new FileReference();
fileRef.addEventListener(Event.SELECT,selectHandler);
fileRef.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
fileRef.browse();
// ファイル選択後アップロード処理を実行
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
var uploadURL:URLRequest = new URLRequest();
uploadURL.url = "http://localhost:8080/grails/sample/upload";
file.upload(uploadURL);
}
// これがないとエラー画面が出ました
private function ioErrorHandler(event:IOErrorEvent):void {
}
Grails側に受けのアクションを作ってやります。
普通にMultiPartFormDataが来るので、処理してやるだけです。
class SampleController {
def upload={
def file=request.getFile("Filedata")
file.transferTo(new File("/hoge",params["Filename"]))
}
}
1 件のコメント:
はじめまして。
WEBで検索してきました。
私もAIRとGrails(1.2)を使っているのですが、ファイルアップロードができません。
他にサンプルが無く、途方にくれています。
//AIR部
var _urlRequest:URLRequest = new URLRequest();
_urlRequest.url = _url;
fileRef.upload(_urlRequest, "ticketFile");
//grails部
def file=request.getFile("ticketFile")
file.transferTo(new File("/hoge",params["Filename"]))
groovy.lang.MissingMethodException: No signature of method:org.apache.catalina.core.ApplicationHttpRequest.getFile() is applicable for argument types: (java.lang.String) values: [ticketFile]
唯一、Javaではサーブレットのソースだとうまく行くのですが、grails,strutsからはHTTPrequestからのファイルデータの取得に失敗します。
grailsのHTTPRequestは他ライブラリを使っているのでしょうか?
コメントで場違いで申し訳ありません、どこが悪いのでしょうか?お答えいただければありがたいです。
コメントを投稿