欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

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

關(guān)于dsoframer控件保存文檔至服務(wù)器的問(wèn)題

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

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


控件附帶說(shuō)明給出了保存文檔至服務(wù)器的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('保存成功!');
}


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







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();


    這里應(yīng)該注意的是,從字節(jié)流中獲取字符串時(shí)一定要采用iso-8859-1的編碼方式,不要采用utf-8或其他,因?yàn)閡tf-8會(huì)將asci字符也擴(kuò)展成相應(yīng)的unicode雙字節(jié)形式。原理很簡(jiǎn)單,代碼面前了無(wú)秘密。


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