Foxtable(狐表)用户栏目专家坐堂 → 移动开发时,页面打开文件无法预览


  共有2318人关注过本帖树形打印复制链接

主题:移动开发时,页面打开文件无法预览

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
移动开发时,页面打开文件无法预览  发帖心情 Post By: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

运行页面代码  会下载对应的二进制文件到缓存文件夹下,
获取到的文件会在页面显示对应的网址路劲 ,但是打开会提示“杯具,页面不存在”

图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看

麻烦老师看看
1、为什么文件下载到本地之后,无法预览或者打开呢?
2、红色部分代码  没有实现按照条件筛选数据  反而是把当前附件表里面的所有文件都下载到本地了,想实现根据dt表查找到的行进行下载文件
[此贴子已经被作者于2021/1/31 18:53:50编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/31 20:52:00 [只看该作者]

请不要发重复的问题:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160315&authorid=0&page=2&star=2

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/31 20:54:00 [只看该作者]

缓存文件这个目录必须在ProjectPath & "web\"这里路径里面

 回到顶部