以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 移动开发时,页面打开文件无法预览 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160382) |
-- 作者:cnsjroom -- 发布时间:2021/1/31 16:42:00 -- 移动开发时,页面打开文件无法预览 httprequest事件代码如下: Dim fl As String = ProjectPath & "web\\" & e.path If filesys.FileExists(fl) Dim idx As Integer = fl.LastIndexOf(".") Dim ext As String = fl.SubString(idx) Select Case ext Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar" e.WriteFile(fl) Return \'这里必须返回 End Select End If Select Case e.Path Case "" e.AsyncExecute = True \'通知系统,将采用异步方式生成网页 Functions.AsyncExecute("default", e) \'异步调用函数生成网页 Case Else Dim dr As DataRow = DataTables("内部函数表").Find("网页名=\'" & e.Path & "\'") If dr IsNot Nothing Then Functions.Execute(dr("函数名称"),e) Else Dim wb As New weui wb.InsertHTML("<p>杯具!页面丢失了!!</p>") wb.AppendHTML("<script>console.warn(\'" & e.Path & "不在httprequest表,请检查是否没有设置.\')</script>") e.WriteString(wb.Build) End If End Select 页面代码如下: Dim dt As DataRow = DataTables("附件").Find("编号= \'" & e.PostValues("编号") & "\'and 名称= \'" & e.PostValues("名称") & "\'") With wb.AddInputGroup("form1","ipg111111","文件列表") For Each dr1 As DataRow In dt.DataRows Dim fln As String = dr1("文件名称") Dim wj As String ="./缓存文件\\" & fln If FileSys.FileExists(wj) Then \'如果本地存在同名文件且CRC校验值相同 \'则直接使用本地文件 Dim sb As New StringBuilder sb.appendLine("<div>") sb.appendLine("<a href=\'" & wj & "\'>" & fln & "</a>") sb.appendLine("</div>") wb.InsertHTML("form1",sb.ToString) Else \'否则从数据库提取文件 If dr1.SQLLoadFile("文件",wj) = True Then \'如果提取文件失败 Dim sb1 As New StringBuilder sb1.appendLine("<div>") sb1.appendLine("<a href=\'" & wj & "\'>" & fln & "</a>") sb1.appendLine("</div>") wb.InsertHTML("form1",sb1.ToString) End If End If Next End With 运行页面代码 会下载对应的二进制文件到缓存文件夹下, 获取到的文件会在页面显示对应的网址路劲 ,但是打开会提示“杯具,页面不存在” 麻烦老师看看 1、为什么文件下载到本地之后,无法预览或者打开呢? 2、红色部分代码 没有实现按照条件筛选数据 反而是把当前附件表里面的所有文件都下载到本地了,想实现根据dt表查找到的行进行下载文件 [此贴子已经被作者于2021/1/31 18:53:50编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/31 20:52:00 -- 请不要发重复的问题:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160315&authorid=0&page=2&star=2 |
-- 作者:有点蓝 -- 发布时间:2021/1/31 20:54:00 -- 缓存文件这个目录必须在ProjectPath & "web\\"这里路径里面 |