2011-05-22 54 views
0

嘿, 我需要一些建議,所以我會解釋我想要完成什麼,我怎麼想我想這樣做,我希望有人可以告訴我,如果這是一個好主意,過度思考它。AS3位圖存儲

我想要做的是從as3/Flash IDE項目中獲取位圖圖像並將其保存到數據庫服務器上。這是一個永久安裝,有4個Flash應用程序正在運行,並且它們都鏈接到MySQL數據庫。

我發現this教程,告訴我如何序列化位圖數據,然後將其存儲在本地計算機上,但我反而希望將該壓縮的位圖數據存儲在數據庫中的BLOB字段中。這是一個好主意嗎? 如果不能,我可以發送它到PHP來將bitmapdata存儲到服務器上的文件夾中,並將其引用存儲在數據庫中?我現在可以將它轉換爲jpeg從服務器發送電子郵件,但我需要一個仍然處於位圖格式的副本,以便由第5個應用程序拾取並打印出來。 如果我確實將它存儲爲文件,那麼我應該使用PHP來抓取文件並將字節流傳回Flash?有沒有更好的方法來做到這一點?

任何教程或代碼片段將不勝感激。如果不是推動正確的主題閱讀。

謝謝你們。 Ben

回答

1

多年來一直存在着關於是否將圖像存儲在數據庫本身中的爭論。我認爲大部分工作已經結束,共識正在迅速地'通過鏈接將其存儲在文件系統中'......您可以輕鬆擴展它,但擴展數據庫要困難得多。所有這一切都很好,因爲我一直認爲DB傢伙是瘋子。

對於通過電線傳輸,我建議PNG圖像,這取決於它是什麼樣的圖像(PNG是壓縮和無損)。

如何存儲文件將取決於您的應用程序的結構。您可能可以通過大文件夾完成MD5生成的文件名以防止衝突。你可能不想連續存儲任何東西,因爲這樣可以讓其他人輕鬆地進入並且完成整個集合。您還可以將自動生成的文件名存儲在用戶標識的文件夾中......這取決於您。

除非需要高安全性,否則您可以將它們全部保留在Web服務器上並反射一個URL,這會使文件隨時可用。如果你需要保持它們私密,那麼你可以用PHP將它們流回。確保使用Etags或其他緩存機制。


補充:
順便說一句,在PHP/MySQL的部分實際上是很容易的。總而言之,一位經驗豐富的職業玩家可以在幾天 - 一週之內完成。

而這裏的AS3 PNG編碼器,這是AS3CoreLib