14 个解决方案
#1
那你就别问了
#2
没试过,猜想:如果你的.doc文件没图的话,你用
<objecet>把写字板或word本身集成上来
我想你本身用的是<a href="../../…….doc">自然会提示下载或
是否打开了
<objecet>把写字板或word本身集成上来
我想你本身用的是<a href="../../…….doc">自然会提示下载或
是否打开了
#3
gogogo
#4
没有必要用两个文件,也没有必要用什么二进制流把文件读出来,因为你是把word文件直接存你的文件夹中的,而不是存在数据库中的,你知道了文件名和路径,直接在第一个文件中用<a href="../../…….doc" arget="_blank">链接文字</a>即可,当用户单击该链接时,会自动在另一个窗口中打开该word文档的,浏览器不会提示你的,除非你浏览网页的机子上没有装Word,如果装了Word,系统会自动在浏览器中用Word打开,不会提问你是打开还是下载。要吗,就是你的机子有问题。关于这个东西,我前不久还用过,Excel也可以直接在浏览器里打开。
#5
你也可以找一个不是上传的word文档,是你本机上原有的文档,然后用<a href="../../…….doc" arget="_blank">链接文字</a>试一下,如果没有问题就说明你上传的文档有问题,如果不行,就说明你用二进制流读取的过程有问题,或者是你的机子有问题。不然的话用上面的方法一定行的。
#6
干吗在呢?微软在9x时代就有的web文件夹这种概念了,也支持远程读写,当然也不会弹什么东东拉,我的解决方案就是服务器端开启webdav功能,在客户端用js调用word远程读写就可以
#7
小天你很搞笑,直接连接word文件当然可以打开,问题是我连了一个asp文件就无法直接打开了。
#8
楼主有RPWT!!
#9
在安全存储方面:
其实这是一个做WEB文档系统及OA系统需要解决的基本问题!
至于下载及打开:
这是响应客户端请求的方法问题(header)
我觉得这都是基本的!! 如果讲个很难,我个人认为只是你的整体解决方案做得不够好!
其实这是一个做WEB文档系统及OA系统需要解决的基本问题!
至于下载及打开:
这是响应客户端请求的方法问题(header)
我觉得这都是基本的!! 如果讲个很难,我个人认为只是你的整体解决方案做得不够好!
#10
这个"问题"对我来讲不是问题,只是偶懒得打字帖代码,想交流可以留言
#11
没啥可研究的。因为我做望站用不上
#12
哈哈,链接asp文件,然后在你链接的asp文件中用response输出进制流也是可以的。我给你贴一段不全的asp.net代码吧,不过我的可是直接存在数据库中的word和excel文档啊,呵呵。
<% @page Language="VB" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<%
Dim stream As StreamReader
Dim connstr As String
connstr = Server.MapPath("bin\conn.ini")
stream = File.OpenText(connstr)
connstr = stream.ReadLine()
Dim conn As New SqlConnection(connstr)
Dim sqlstr As String = "select * from upload_binary where id=" & Request("id")
conn.Open()
Dim mydataAdapter As New SqlDataAdapter(sqlstr, conn)
Dim mytable As DataTable = New DataTable()
mydataAdapter.Fill(mytable)
Response.Clear()
Response.ContentType = mytable.Rows(0).Item("file_type") 'ile_type存的是文档类型,如:“application/msword”“application/vnd.ms-excel”“application/octet-stream”
Response.BinaryWrite(mytable.Rows(0).Item("file_content")) 'file_content为文档的内容。
Response.End()
%>
这是一个被链的页面,文件名为download_bin.aspx。
asp是一样,大同小异。上面的代码可以直接在浏览器中打开,不会问你是下载还是打开。
<% @page Language="VB" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<%
Dim stream As StreamReader
Dim connstr As String
connstr = Server.MapPath("bin\conn.ini")
stream = File.OpenText(connstr)
connstr = stream.ReadLine()
Dim conn As New SqlConnection(connstr)
Dim sqlstr As String = "select * from upload_binary where id=" & Request("id")
conn.Open()
Dim mydataAdapter As New SqlDataAdapter(sqlstr, conn)
Dim mytable As DataTable = New DataTable()
mydataAdapter.Fill(mytable)
Response.Clear()
Response.ContentType = mytable.Rows(0).Item("file_type") 'ile_type存的是文档类型,如:“application/msword”“application/vnd.ms-excel”“application/octet-stream”
Response.BinaryWrite(mytable.Rows(0).Item("file_content")) 'file_content为文档的内容。
Response.End()
%>
这是一个被链的页面,文件名为download_bin.aspx。
asp是一样,大同小异。上面的代码可以直接在浏览器中打开,不会问你是下载还是打开。
#13
关注中,给点分吧!
#14
我前不久也是这样做,在浏览器打开时可以编辑的,在它上面乱点一下,关闭时问要保存吗,可以去北大的网站去看下有这方面的内容,
#1
那你就别问了
#2
没试过,猜想:如果你的.doc文件没图的话,你用
<objecet>把写字板或word本身集成上来
我想你本身用的是<a href="../../…….doc">自然会提示下载或
是否打开了
<objecet>把写字板或word本身集成上来
我想你本身用的是<a href="../../…….doc">自然会提示下载或
是否打开了
#3
gogogo
#4
没有必要用两个文件,也没有必要用什么二进制流把文件读出来,因为你是把word文件直接存你的文件夹中的,而不是存在数据库中的,你知道了文件名和路径,直接在第一个文件中用<a href="../../…….doc" arget="_blank">链接文字</a>即可,当用户单击该链接时,会自动在另一个窗口中打开该word文档的,浏览器不会提示你的,除非你浏览网页的机子上没有装Word,如果装了Word,系统会自动在浏览器中用Word打开,不会提问你是打开还是下载。要吗,就是你的机子有问题。关于这个东西,我前不久还用过,Excel也可以直接在浏览器里打开。
#5
你也可以找一个不是上传的word文档,是你本机上原有的文档,然后用<a href="../../…….doc" arget="_blank">链接文字</a>试一下,如果没有问题就说明你上传的文档有问题,如果不行,就说明你用二进制流读取的过程有问题,或者是你的机子有问题。不然的话用上面的方法一定行的。
#6
干吗在呢?微软在9x时代就有的web文件夹这种概念了,也支持远程读写,当然也不会弹什么东东拉,我的解决方案就是服务器端开启webdav功能,在客户端用js调用word远程读写就可以
#7
小天你很搞笑,直接连接word文件当然可以打开,问题是我连了一个asp文件就无法直接打开了。
#8
楼主有RPWT!!
#9
在安全存储方面:
其实这是一个做WEB文档系统及OA系统需要解决的基本问题!
至于下载及打开:
这是响应客户端请求的方法问题(header)
我觉得这都是基本的!! 如果讲个很难,我个人认为只是你的整体解决方案做得不够好!
其实这是一个做WEB文档系统及OA系统需要解决的基本问题!
至于下载及打开:
这是响应客户端请求的方法问题(header)
我觉得这都是基本的!! 如果讲个很难,我个人认为只是你的整体解决方案做得不够好!
#10
这个"问题"对我来讲不是问题,只是偶懒得打字帖代码,想交流可以留言
#11
没啥可研究的。因为我做望站用不上
#12
哈哈,链接asp文件,然后在你链接的asp文件中用response输出进制流也是可以的。我给你贴一段不全的asp.net代码吧,不过我的可是直接存在数据库中的word和excel文档啊,呵呵。
<% @page Language="VB" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<%
Dim stream As StreamReader
Dim connstr As String
connstr = Server.MapPath("bin\conn.ini")
stream = File.OpenText(connstr)
connstr = stream.ReadLine()
Dim conn As New SqlConnection(connstr)
Dim sqlstr As String = "select * from upload_binary where id=" & Request("id")
conn.Open()
Dim mydataAdapter As New SqlDataAdapter(sqlstr, conn)
Dim mytable As DataTable = New DataTable()
mydataAdapter.Fill(mytable)
Response.Clear()
Response.ContentType = mytable.Rows(0).Item("file_type") 'ile_type存的是文档类型,如:“application/msword”“application/vnd.ms-excel”“application/octet-stream”
Response.BinaryWrite(mytable.Rows(0).Item("file_content")) 'file_content为文档的内容。
Response.End()
%>
这是一个被链的页面,文件名为download_bin.aspx。
asp是一样,大同小异。上面的代码可以直接在浏览器中打开,不会问你是下载还是打开。
<% @page Language="VB" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<%
Dim stream As StreamReader
Dim connstr As String
connstr = Server.MapPath("bin\conn.ini")
stream = File.OpenText(connstr)
connstr = stream.ReadLine()
Dim conn As New SqlConnection(connstr)
Dim sqlstr As String = "select * from upload_binary where id=" & Request("id")
conn.Open()
Dim mydataAdapter As New SqlDataAdapter(sqlstr, conn)
Dim mytable As DataTable = New DataTable()
mydataAdapter.Fill(mytable)
Response.Clear()
Response.ContentType = mytable.Rows(0).Item("file_type") 'ile_type存的是文档类型,如:“application/msword”“application/vnd.ms-excel”“application/octet-stream”
Response.BinaryWrite(mytable.Rows(0).Item("file_content")) 'file_content为文档的内容。
Response.End()
%>
这是一个被链的页面,文件名为download_bin.aspx。
asp是一样,大同小异。上面的代码可以直接在浏览器中打开,不会问你是下载还是打开。
#13
关注中,给点分吧!
#14
我前不久也是这样做,在浏览器打开时可以编辑的,在它上面乱点一下,关闭时问要保存吗,可以去北大的网站去看下有这方面的内容,