![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 宇 ![]()
![]() |
小弟遇到一個問題,請大家幫忙 下面是一個Action Script3.0 很簡單的function 將_file裡的mp3,預設ABC名稱透過saveLis觸發做另存新檔的動作 現在我想將 _file的值(檔案) POST到的網頁上 HTTP 表單送出方法通常 GET 或 POST 作業。 我輸出的檔案為MP3理用URLRequestMethod.POST。 但是我參考了很多方法都不成功, 請問在Action Script3.0語法要怎麼寫了,或是給我一些方向進行謝謝 這個CASE對我很棘手,請大家幫幫忙謝謝
本篇文章發表於2012-02-29 11:18
== 簽名檔 ==
或許,別人的問題不是問題,你的問題就是問題。 或許,你的問題不是問題,別人的問題就是問題。 或許,你我都沒有問題,學習才是問題。 |
1樓
作者回應
宇 ![]() |
各位大大小弟真的遇到困難,
因為 URLRequestMethod不太會用 請大家幫幫忙 這是我下午想的還是不成功 主要將 player.data內的mp3 POST到test.asp name值要為filename 一般透過HTML 用file表單 就可以完成這個動作 希望大家看得懂我的意思
本篇文章回覆於2012-02-29 18:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
最有價值解答
香帥 ![]() |
您的程式好像少了一行關鍵指令
請在1樓程式第5行與第六行中間多加一行 navigateToURL(url); 再試看看可不可以
本篇文章回覆於2012-02-29 23:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
作者回應
宇 ![]() |
謝謝香帥的提醒
經過這幾天的研讀跟測試 POST原理我已經完成,架構給大家做參考 不過我似乎遇到更麻煩的事情,上述作法如果只是單純的數值變數OK 但是我遇到的是要將 player.data(mp3檔) 直接上傳至 test.asp 但是我從TEST.asp下指令去觀察實際檔案的狀況 ABC.mp3名稱 ASP是讀到了 但是實際 player.data ASP似乎看不懂 FLASH 所post結果的值(還是檔案我也不知道) 好像要利用 FileReference.upload() 的形式進行。 看來我要在多K一下相關範例 不知道有沒有大大遇過類似的問題
本篇文章回覆於2012-03-01 19:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓 |
upload file可參考以下程式
var fileRef:FileReference = new FileReference(); fileRef.addEventListener(Event.SELECT, selectHandler); fileRef.addEventListener(Event.COMPLETE, completeHandler); try { var success:Boolean = fileRef.browse(); } catch (error:Error) { trace("Unable to browse for files."); } function selectHandler(event:Event):void { var request:URLRequest = new URLRequest("http://www.[yourdomain].com/fileUploadScript.cfm") try { fileRef.upload(request); } catch (error:Error) { trace("Unable to upload file."); } } function completeHandler(event:Event):void { trace("uploaded"); }
本篇文章回覆於2012-03-02 00:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
作者回應
宇 ![]() |
香帥謝謝回應 您提供的範例我知道 因為FileReference 是屬於 import flash.net.FileReference 的物件 要做FileReference upload() 之前,一定要針對FileReference 做定義 意思就是要把檔案變數,放在FileReference。 我看大家都先用browse()本機上傳的方式, 跟我mp3檔案已經預存在 player.data 不太一樣。 現在我卡在 player.data 的檔案丟不到FileReference型態的變數 所以根本沒辦法使用 upload 以下是我試的方法給大家做參考 我不知道是不是我觀念錯誤@@ 大家協助幫忙~~
本篇文章回覆於2012-03-02 16:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
宇 ![]() |
我先試試香帥您提供的範例(感謝)
我怎麼沒想過先用試試(現在有點汗顏) FLASH UPLOAD 本機上傳 FOR ASP 的方法呀
本篇文章回覆於2012-03-02 17:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
宇 ![]() |
香帥您好:
您提供的範例會出現 SecurityError: Error #2000: 無使用中的安全性內容。的訊息 可能是我套錯我在試試,或是煩請您抽空協助看看 另外我有些發現給大家做些參考。 上述的做法,有沒有可能將ASP所讀到的 ByteArray資料直接在ASP文件轉成.mp3的可能性呢?
本篇文章回覆於2012-03-03 11:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓
作者回應
宇 ![]() |
更進一步釐清以下是我的心得提供給大家參考 1.官方已經有明確的說明FileReference物件,雖有支援upload但此物件並沒有支援ByteArray類型的資料/檔案)傳輸。所以我怎麼試upload都不成功就是如此,因為都是ByteArray檔案類型的關係。 2.但我還是一直搞不懂 FileReference.save() 明明支援ByteArray另存新檔到本機,卻無法支援 ByteArray型態upload讓我覺得很納悶。如果要以ByteArray檔案的方式進行上傳,新德大哥有提供了MultipartURLLoader 物件 http://blog.inspirit.ru/?p=139(新德大哥提供的資訊),此物件彌補了FileReference 無法ByteArray上傳的問題。但是我試了幾次,ByteArray圖片轉存可以,但是ByteArray的MP3轉存就會很多問題(可能我我撰寫程式功力不好),可能當時此物件設計是為了解決ByteArray 轉圖片的問題,最後有JPGEncoder物件更穩定些。 3.但是我提供的問題程式,裡面的player.data(MP3編碼),要怎麼傳到ASP接收資料呢?我看到很多PO文所建議,將ByteArray資料直接上傳到SERVER,在由SERVER處理ByteArray的資料。所以我暫時以method=URLRequestMethod.POST 進行ByteArray上傳到主機的動作。 4.因為我比較熟悉ASP,所以ByteArray上傳到ASP如何處理該資料型態呢?我發現ASP似乎不認識FLASH 傳來的ByteArray,尤其是Request幾乎是一面倒,怎麼試抓不是抓不到,就是的值都怪怪的。曾想說自己寫COM+排序陣列,但發現工程浩大能力所不及的,這也是我遇到很困擾的問題。不過很慶幸的我找到 SaveAs Method of ByteArray for ASP的物件,可處理ByteArray資料http://www.motobit.com/help/scptutl/cm119.htm,解決了在ASP無法處理ByteArray的問題。 5.目前雖暫時解決了目前我的問題,不過當我 ByteArray 進行 method=URLRequestMethod.POST 的動作時,ByteArray檔案超過200K似乎無法傳到ASP上,不知道是ASP 的問題還是 URLRequestMethod.POST的問題待我釐清,不知道這方面有沒有朋友,有這方面的心得。 以上是我的心得提供給大家參考。
本篇文章回覆於2012-03-06 09:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓
作者回應
宇 ![]() |
URLRequestMethod.POST 資料太大的問題,原來是win2003 上傳預設值的問題 ASPMaxRequestEntityAllowed
1.先打開IIS管理器 2.關閉iis admin service服務 找到windows\system32\inesrv\下的metabase.xml,打開找到ASPMaxRequestEntityAllowed 把它修改為需要的值, 預設為204800,即200K,把它修改為204800000(自訂需要)。 然後重開iis admin service服務
本篇文章回覆於2012-03-06 10:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |