asp.net实现文件内容存入到数据库中去

Wonderful1025 2014-08-14 11:07:32
实现把文件传到数据库中,例如word txt之类的文件 把内容存入到数据库后然后在显示在界面上
...全文
363 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
一个大猴子 2014-08-18
  • 打赏
  • 举报
回复
引用 12 楼 sp1234 的回复:
[quote=引用 4 楼 qq_15185769 的回复:] 这个是正常的,你那么做,数据库受不了。。如果不限制文件的大小。数据库几下就装不下了
什么意思?谁告诉你说数据库装不下几万个文件?[/quote] 我的意思是:如果不限制文件的大小。像百度,一次能传4G的,传10000个上去。没有几个网站扛得起。 访问频繁还是保存到磁盘上,降低服务器负担。 保存于数据库中安全性最佳,层次管理也很方便。
祥子爱游戏 2014-08-17
  • 打赏
  • 举报
回复
数据库是能放很多东西的,可以用在线编译器,也可以上传到服务器保存URL,在请求URL,用控件/组件(据说有一种是OCX的东西)或者用流显示
  • 打赏
  • 举报
回复
引用 4 楼 qq_15185769 的回复:
这个是正常的,你那么做,数据库受不了。。如果不限制文件的大小。数据库几下就装不下了
什么意思?谁告诉你说数据库装不下几万个文件?
bswn_1533656144 2014-08-17
  • 打赏
  • 举报
回复
将word文档数据存入到Sql Server数据库中 //把word文档数据写入到数据库 private void btn_Write_Click(object sender, EventArgs e) { try { G_wa.ActiveDocument.Save();//保存文档 object P_Save = false;//创建object对象 ((Word._Application)G_wa.Application).Quit(//退出应用程序 ref P_Save, ref G_missing, ref G_missing); }//CodeGo.net/ catch (Exception ex) { MessageBox.Show(//弹出消息对话框 ex.Message, "提示!"); } btn_Write.Enabled = false;//停用插入数据按钮 try { InsertData();//执行插入数据方法 btn_display.Enabled = true;//启用显示文档按钮 } catch (Exception ex) { MessageBox.Show(//弹出消息对话框 "插入信息失败,请确认Word中添入的信息是否正确\r\n" + ex.Message, "提示!"); } } //执行插入数据方法 private void InsertData() { G_wa = new Microsoft.Office.Interop.Word.Application();//创建应用程序对象 object P_Path = Directory.GetCurrentDirectory() + @"\Word.doc"; Word.Document P_Document = G_wa.Documents.Open(//打开Word文档 ref P_Path, ref G_missing, ref G_missing, ref G_missing , ref G_missing, ref G_missing, ref G_missing, ref G_missing , ref G_missing, ref G_missing, ref G_missing, ref G_missing , ref G_missing, ref G_missing, ref G_missing, ref G_missing); try { Word.Range P_Range =//得到文档范围 P_Document.Range(ref G_missing, ref G_missing); Word.Table P_Table = P_Range.Tables[1];//得到文档内的表格对象 List<InstanceClass> P_List_InstanceClass = //建立集合对象 new List<InstanceClass>(); for (int i = 2; i < 7; i++) { if (P_Table.Cell(i, 1).Range.Text != "\r\a" &&//判断表格内是否已经添加信息 P_Table.Cell(i, 2).Range.Text != "\r\a" && P_Table.Cell(i, 3).Range.Text != "\r\a" && P_Table.Cell(i, 4).Range.Text != "\r\a") { P_List_InstanceClass.Add(//向数据集合中添加数据 new InstanceClass() { Name = P_Table.Cell(i, 1).Range.Text.Replace("\r\a", ""), Chinese = float.Parse(P_Table.Cell(i, 2).Range.Text.Replace("\r\a", "")), Math = float.Parse(P_Table.Cell(i, 3).Range.Text.Replace("\r\a", "")), English = float.Parse(P_Table.Cell(i, 4).Range.Text.Replace("\r\a", "")) }); } } new DataTier(txt_Server.Text, txt_DataBase.Text, txt_UserName.Text,//向SQL数据库中插入数据 txt_PassWord.Text).InsertMessage(P_List_InstanceClass); object P_Save = false;//创建object对象 ((Word._Application)G_wa.Application).Quit(//退出应用程序 ref P_Save, ref G_missing, ref G_missing); this.Invoke(//窗体线程执行 (MethodInvoker)(() =>//使用Lambda表达式 { MessageBox.Show("向SQL中插入数据成功!", "提示!"); })); } catch (Exception ex) { object P_Save = false;//创建object对象 ((Word._Application)G_wa.Application).Quit(//退出应用程序 ref P_Save, ref G_missing, ref G_missing); throw new Exception(ex.Message);//将异常抛向上一层 } }
凹加凸等于啥 2014-08-14
  • 打赏
  • 举报
回复
引用 6 楼 Wonderful1025 的回复:
[quote=引用 1 楼 yaotomo 的回复:] 一般都是把文件上传到服务器磁盘的某个目录下,再将文件上传路径保存到数据库中。 展示的时候,先读取数据库保存的路径,再打开。
嗯哪 存入路径后再怎么读取内容显示在界面上呢 word文档[/quote] 用WebBroswer可让你读取的word显示再界面上
Wonderful1025 2014-08-14
  • 打赏
  • 举报
回复
引用 1 楼 yaotomo 的回复:
一般都是把文件上传到服务器磁盘的某个目录下,再将文件上传路径保存到数据库中。 展示的时候,先读取数据库保存的路径,再打开。
嗯哪 存入路径后再怎么读取内容显示在界面上呢 word文档
sy401042879 2014-08-14
  • 打赏
  • 举报
回复
数据库用image类型。然后保存的时候和一般数据保存是一样的。 显示的话,用流来处理就可以了。
一个大猴子 2014-08-14
  • 打赏
  • 举报
回复
引用 1 楼 yaotomo 的回复:
一般都是把文件上传到服务器磁盘的某个目录下,再将文件上传路径保存到数据库中。 展示的时候,先读取数据库保存的路径,再打开。
这个是正常的,你那么做,数据库受不了。。如果不限制文件的大小。数据库几下就装不下了
wangnaisheng 2014-08-14
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/300260612 参考,先把txt读取到datatable中,然后对datatable操作,插入数据库,显示到界面
我本良人 2014-08-14
  • 打赏
  • 举报
回复
如果真要像你说的那样做的话,只是把文件内容存数据库了里,你可以调用office组件,读取文档内容,然后把内容存入数据库
yaotomo 2014-08-14
  • 打赏
  • 举报
回复
一般都是把文件上传到服务器磁盘的某个目录下,再将文件上传路径保存到数据库中。 展示的时候,先读取数据库保存的路径,再打开。
wuyq11 2014-08-14
  • 打赏
  • 举报
回复
FileUpload上传文件到临时文件夹 File.ReadAllText读取文本文件内容,WORD可直接打开,也可使用office组件加载打开如NTKO
yaotomo 2014-08-14
  • 打赏
  • 举报
回复
word转html的代码

private void WordToHtml(string fname)
        {
             tfileinfoTableAdapter fileInfo = new tfileinfoTableAdapter();
            try
            {
                // 在此处放置用户代码以初始化页面   
                Word.Application word = new Microsoft.Office.Interop.Word.Application();
                Type wordType = word.GetType();
                Word.Documents docs = word.Documents; // 打开文件   
                Type docsType = docs.GetType();
                //object fileName = Server.MapPath("~/docs/") + fname;
                var fileRecord = fileInfo.GetDataByFId(Request["fid"]).Single();
                object fileName = fileRecord.fpath;
                Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { fileName, true, true }); // 转换格式,另存为   
                Type docType = doc.GetType();
                object saveFileName = Server.MapPath("~/docs/") + fileRecord.fboard + @"/" + fileRecord.funit + @"/" + fileRecord.ftype + @"/" + fname + ".html";

                //object saveFileName = Server.MapPath("~/docs/") + fname + ".html";

                //保存HTML  
                docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatHTML });
                // 退出 Word   
                wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
                //跳转显示预案信息  
                //Response.Redirect("~/docs/" + fname + ".html");
                Response.Redirect("~/docs/" + fileRecord.fboard + @"/" + fileRecord.funit + @"/" + fileRecord.ftype + @"/" + fname + ".html");
            }
            catch (Exception ex)
            {
                Common.ReturnScriptMsg("发生错误:" + ex.Message, "index.aspx");
            }
        }
yaotomo 2014-08-14
  • 打赏
  • 举报
回复
引用 6 楼 Wonderful1025 的回复:
嗯哪 存入路径后再怎么读取内容显示在界面上呢 word文档
可以使用一些office中间件来读取word文档,还可以实现在线编辑。但是大多数中间件是收费的。 你可以在后台将word文件转换为html格式,再显示到前台就可以了。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧