2008年10月9日星期四

[AS3] 沮喪的檔案上傳……

今天在弄一個Flash的HTTP上傳程式,因為不太熟識的關係,先做了一個HTML版的,確保server-side的script運行無誤才開始Flash的編程,可是依照sample code弄出來的程式怎樣都無辦法成功執行。

把Sample code對比了數遍,再看每個元件的說明,有沒有什麼設定忘了做呢?

都沒有。

只知道錯誤的編號是#2038,找Google問問,有些Apache的建議,但我不是用Apache呀……

沒法子,只好試一試比較HTTP Request……然後就發現了,怎麼由Flash傳送出來的HTTP Request竟然沒有Session ID的呢!?

知道了問題的所在,找Google再問,答案立即就出了,原來這是Flash的一個Known Issue…… =.='''

error #2038: under Firefox, FileReference loose cookies during upload when "pragma:no-cache" is send by the server

有些人說受影響的包括IE以外所有的瀏覽器,雖然都過了一段時間,似乎還未有修正……到底現在還有多少瀏覽器受到影響,我沒有研究過,對我來說Firefox不行已經是有夠嚴重的了。

我絕對不接受弄出一個不能支援Firefox的Web軟件………

4 則留言:

栗子捌貳 說...

www.mediafire.com也是用flash做上傳,我也在firefox上做過,也成功過。不知道它是用http protocol做,還是自己開socket做,還是別的。
雖然我記得在flash裡自己開socket是可行的,但能否直讀某個file的binary傳到socket裡就不知道了。

Ben Lau 說...

出事的是一個叫FileReference的元件,一般URLRequest不受影響,所以其中一個方向就是自己重寫這部份,但我見不到有人公開說這樣做。

其他人建議的解決方法是在URL補上Session ID,不過都有麻煩的地方。

另外我亦見有人先generate一條只能用一次random key,然後在上傳時附上這次key以取代session……

Clockwork Box 說...

HI你好

我想請問你eeepc-701-config #eeepc 701專屬的設定檔,這是指什麼呢?你裡面都做了什麼設定,這個可以用在901上面嗎?這設定檔有source code嗎?

因為很急,所以要問你這前輩了,搞了兩個多星期我都用不出來,現在我追蹤的結果,不是gnome的問題了,而是網路,只要連線上網路上,Xorg就會當掉,不知道我是不是那裡沒有設

Ben Lau 說...

eeepc-701-config的專案在這裏,有代碼下載:

https://launchpad.net/ubuntu-eeepc-config

主要是針對EeePC 701的設定案,例如設定Gnome、載入那些kernel module、ACPI及sysfs又用什麼設定這類。901的話應該不太合用……

設定資料主要都是是參考eeeuser wiki及Ubuntu Eee的。

http://wiki.eeeuser.com/
http://www.ubuntu-eee.com

Creative Commons License
本網誌Ben Lau製作,以共享創意署名-非商業性-相同方式共享 3.0 香港 授權條款釋出。