91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

關于dsoframer控件保存文檔至服務器的問題

admin
2013年1月22日 21:27 本文熱度 4604

dsoframer是微軟提供一款開源的基于web的office ActiveX控件,國內(nèi)有達人在源碼的基礎上做了很多修改,增強了控件的功能。其實基于web的office是一個很雞肋的東西,沒有什么存在的意義。唯一的一點就是看上去比較花哨,你瞧,在瀏覽器上打開word文檔,多吊啊。不知道原版dsoframer是否帶有直接保存文檔至服務器的功能,不過我手頭上的一個改良版本的確是有此功能。


控件附帶說明給出了保存文檔至服務器的javascript函數(shù),如:







function SaveToWeb()
{
    document.all.FramerControl1.HttpInit();
    document.all.FramerControl1.HttpAddPostCurrFile("FileData", "mydoc.doc");
    var err = document.all.FramerControl1.HttpPost("Http://202.114.12.137/newvan/pm/auxi/SaveDoc.aspx");
    if (!err)
        alert('保存失敗!');
    else
        alert('保存成功!');
}


由此可見,關鍵問題是如何實現(xiàn)SaveDoc.aspx模塊。于是乎在網(wǎng)上搜索相應的解決方案,但沒有一個能在服務器上成功保存正確的文件。失望之余索性將原文檔和上傳文檔用UltraEdit打開進行二進制級比較,然后抓包分析POST數(shù)據(jù)時http數(shù)據(jù)包的格式,最后終于找到了解決的辦法,貼出來供遇到同樣問題的朋友參考,代碼如下:







BinaryReader bReader = new BinaryReader(Request.InputStream);
string strTemp = Encoding.GetEncoding("iso-8859-1").GetString(
bReader.ReadBytes((int)bReader.BaseStream.Length), 0, (int)bReader.BaseStream.Length);
string match = "Content-Type: application/mswordrnrn";
int pos = strTemp.IndexOf(match) + match.Length;
bReader.BaseStream.Seek(pos, SeekOrigin.Begin);

string newFile = Server.MapPath(".") + "\MyFile2.doc";
FileStream newDoc = new FileStream(newFile, FileMode.Create, FileAccess.Write);
BinaryWriter bWriter = new BinaryWriter(newDoc);
bWriter.BaseStream.Seek(0, SeekOrigin.End);



while (bReader.BaseStream.Position < bReader.BaseStream.Length - 38)
    bWriter.Write(bReader.ReadByte());

bReader.Close();
bWriter.Flush();
bWriter.Close();


    這里應該注意的是,從字節(jié)流中獲取字符串時一定要采用iso-8859-1的編碼方式,不要采用utf-8或其他,因為utf-8會將asci字符也擴展成相應的unicode雙字節(jié)形式。原理很簡單,代碼面前了無秘密。


該文章在 2013/1/22 21:27:18 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日本免费亚洲视频 | 成人福利在线91 | 午夜理论 | 精品一区国产 | 日韩a在线 | 91制片一二三专区 | 中文字幕制人妖 | 国产A级片网站 | 成人午夜试看120 | 91视频午夜福利 | 国产精品多人 | 国产精品福利自产 | 乱老熟女一区二 | 国产妇女视频免费 | 91精品福利尤物 | 日韩国产欧美在线 | 乱伦性色 | 欧美一级一区二区 | 精品福利导航 | 日本簧片在线观 | 日韩精品武 | 日韩精品国产一级 | 精品午夜国产在 | 精品偷拍视频一区 | 噼里啪啦影院大 | 国产乱码一二 | 三极网站| 国产人妖在线 | 欧美日毛比比 | 无码av天堂一区二区三区 | 日本名勝景點推薦 | 日本系列1| 国产精品高清网站 | 国产精品岛国 | 国产欧美日本在线 | 中文字幕日韩高清 | 国产精品一区二 | 精品国产99 | 日韩一区二线视频 | 国产日韩在线看 | 九九热免费在线观看 |