日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

FMS应用实例 - 从FMS服务器读取文件(图片/SWF/文本)到客户端

發(fā)布時(shí)間:2025/5/22 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FMS应用实例 - 从FMS服务器读取文件(图片/SWF/文本)到客户端 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?有時(shí)候我們希望從FMS服務(wù)器上獲取指定的文件,再傳送到服務(wù)端進(jìn)行操作。


由于是文件操作,客戶端我們很正常就會想到byteArray類,服務(wù)端使用File類。


另外~由于服務(wù)端必不支持ByteArray,我們需要把File讀取到的byte存為Array或拼成一串字符再傳給客戶端。

?

客戶端把Array或字符轉(zhuǎn)成byteArray再進(jìn)行操作。

?

這個(gè)問題困我好幾天。感謝GOOGLE!感謝BAIDU!最感謝http://blog.l4cd.net!!!!

以下內(nèi)容轉(zhuǎn)自 http://blog.l4cd.net


先看看服務(wù)端代碼
main.asc
代碼application.onConnect?=?function(client)
{
????client.getFile?
=?function(filename)
????{
????????
var?file?=?new?File("/"?+?filename);//打開文件
????????if(!file.name)return?"";
????????
if(file.open("binary","read"))//以二進(jìn)制讀取文件
????????{
????????????
var?b?=?"";
????????????
while(!file.eof())b?+=?file.readByte()+",";//把byte拼成字符
????????????file.close();//關(guān)閉文件
????????????return?b;
????????}
????????
return?"";
????}
????application.acceptConnection(client);
}

客戶端代碼

代碼package
{
????import?flash.display.Sprite;
????import?flash.display.Loader;
????import?flash.net.NetConnection;
????import?flash.events.NetStatusEvent;
????import?flash.net.Responder;
????import?flash.utils.ByteArray;

?????
????public?class?FMSGetFileExample?extends?Sprite
????{
????????private?
var?nc:NetConnection;
????????public?
function?FMSGetFileExample()
????????{
????????????
//連接
????????????nc?=?new?NetConnection();
????????????nc.connect(
"rtmp://localhost/file");
????????????nc.addEventListener(NetStatusEvent.NET_STATUS,?netStatusHandler);
????????}

?
????????private?
function?netStatusHandler(e:NetStatusEvent):void
????????{
????????????
switch?(e.info.code)
????????????{
????????????????
case?"NetConnection.Connect.Success"?:
????????????????????
//Call服務(wù)端getFile方法,獲取文件名為"image.jpg"的文件
????????????????????nc.call("getFile",?new?Responder(showFile),?"image.jpg");
????????????????????
break;
????????????????
case?"NetConnection.Connect.Rejected"?:
????????????????
case?"NetConnection.Connect.Failed"?:
????????????????????trace(
"connect?error");
????????????????????
break;
????????????}
????????}
????????private?
function?showFile(file:String):void
????????{
????????????
if(!file)
????????????{
????????????????trace(
"get?file?error");
????????????????
return
????????????}
????????????
var?byte:ByteArray?=?new?ByteArray();
????????????
var?rs:Array?=?file.split(",");
????????????
//字符轉(zhuǎn)為byteArray;
????????????while(rs.length)
????????????{
????????????????
byte.writeByte(rs.shift());//刪除數(shù)組中第一個(gè)元素,并返回該元素。
????????????}
????????????
byte.position?=?0;//將文件指針的當(dāng)前位置(以字節(jié)為單位)移動或返回到?ByteArray?對象中。?下一次調(diào)用讀取方法時(shí)將在此位置開始讀取,或者下一次調(diào)用寫入方法時(shí)將在此位置開始寫入。
????????????//顯示
????????????var?loader:Loader?=?new?Loader();
????????????addChild(loader);
????????????loader.loadBytes(
byte);
????????}
????}

}

?

轉(zhuǎn)載于:https://www.cnblogs.com/skyblue/archive/2009/11/30/1613865.html

總結(jié)

以上是生活随笔為你收集整理的FMS应用实例 - 从FMS服务器读取文件(图片/SWF/文本)到客户端的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。