csdn史上未解决的DSOframer问题
关于DSOframer上传文件到服务器的问题,搜索了一天,无果。
该问题不能沉啊。
特贴出来,请高手支招。
word在线编辑页面:js函数
function SaveToWeb(){
document.getElementById("SureOffice").HttpInit();
document.getElementById("SureOffice").HttpAddPostCurrFile("FileData", "");
document.getElementById("SureOffice").HttpPost("./SaveToServer.aspx");
}
大家看到了,其实上传主要的代码都在SaveToServer.aspx文件中,而很多帖子只介绍dsoFramer的接口,并没有真正的上传成功过。
请看网友写的心得:
上传文件例子:
//初始化Http引擎
DsoFramer1.HttpInit();
//增加Post变量
DsoFramer1.HttpAddPostString("RecordID","20060102200");
DsoFramer1.HttpAddPostString("UserID","李局长");以上这两行,就是打酱油的,用李局长吓唬悲催的程序员们。。
//上传打开的文件
DsoFramer1.HttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
DsoFramer1.HttpPost("http://xxxx.com/uploadfile.asp");//到此介绍就介绍了?重点是uploadfile.asp
搜了搜基本有两种方法:
(1) 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/msword\r\n\r\n";
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();
(2) if (Request.Files.Count == 0)
{
Response.Write("No File");
Response.End();
}
if (Request.Files[0].ContentLength == 0)
{
Response.Write("File Error");
Response.End();
}
//定义保存文件的物理路径
string strTmpPath = System.IO.Path.GetDirectoryName(Page.Request.PhysicalPath);
//定义保存文件的服务器路径
string strUpLoadFilePath = strTmpPath;
string fullFileName = strUpLoadFilePath + "aa.doc";
Request.Files[0].SaveAs(fullFileName);
Response.Write("OK");
Response.End();
遗憾的是,这样种方法,都不成功,上传的文件是空文件。
大多数网友都是不满意结贴。
该问题不能沉啊。
特贴出来,请高手支招。
word在线编辑页面:js函数
function SaveToWeb(){
document.getElementById("SureOffice").HttpInit();
document.getElementById("SureOffice").HttpAddPostCurrFile("FileData", "");
document.getElementById("SureOffice").HttpPost("./SaveToServer.aspx");
}
大家看到了,其实上传主要的代码都在SaveToServer.aspx文件中,而很多帖子只介绍dsoFramer的接口,并没有真正的上传成功过。
请看网友写的心得:
上传文件例子:
//初始化Http引擎
DsoFramer1.HttpInit();
//增加Post变量
DsoFramer1.HttpAddPostString("RecordID","20060102200");
DsoFramer1.HttpAddPostString("UserID","李局长");以上这两行,就是打酱油的,用李局长吓唬悲催的程序员们。。
//上传打开的文件
DsoFramer1.HttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
DsoFramer1.HttpPost("http://xxxx.com/uploadfile.asp");//到此介绍就介绍了?重点是uploadfile.asp
搜了搜基本有两种方法:
(1) 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/msword\r\n\r\n";
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();
(2) if (Request.Files.Count == 0)
{
Response.Write("No File");
Response.End();
}
if (Request.Files[0].ContentLength == 0)
{
Response.Write("File Error");
Response.End();
}
//定义保存文件的物理路径
string strTmpPath = System.IO.Path.GetDirectoryName(Page.Request.PhysicalPath);
//定义保存文件的服务器路径
string strUpLoadFilePath = strTmpPath;
string fullFileName = strUpLoadFilePath + "aa.doc";
Request.Files[0].SaveAs(fullFileName);
Response.Write("OK");
Response.End();
遗憾的是,这样种方法,都不成功,上传的文件是空文件。
大多数网友都是不满意结贴。
...全文
相关推荐
dsoFramer使用例子
**dsoframer_down.rar**:这个文件可能是dsoFramer控件的完整安装包,除了dsoframer.ocx之外,还可能包含了其他必要的文件和文档,用于完整地部署和使用dsoFramer
dsoframer实现在线编辑word文档
然而,由于ActiveX的安全问题和现代浏览器的不兼容性,dsoframer可能不再是当前最佳的在线编辑解决方案。
dsoframer控件使用说明
使用步骤通常包括创建控件实例、设置属性、调用方法等,而常见问题部分则提供了许多实际开发中可能遇到的问题及其解决方案。三、DSOFramer的代码示例DSOFramer控件的使用往往离不开代码的配合。
DsoFramer V2.3.0.2
之前承诺完成修改后免费发布到csdn上,以分享个人心得,今天终于可以完成兑现承诺,再次感谢之前无私奉献源码的朋友,谢谢!////////////////////////////////////////
Dsoframer 2.3使用指南
### Dsoframer 2.3使用指南知识点详解#### 一、软件概述与功能介绍**Dsoframer 2.3**是一款强大的Office文档处理插件,它允许用户在Web环境中无缝编辑和查看Office


