Foxtable(狐表)用户栏目专家坐堂 → [求助]移动开发 审批前怎么打开上传的附件?


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

主题:[求助]移动开发 审批前怎么打开上传的附件?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/10 14:03:00 [显示全部帖子]

做一个下载文件的页面,如 download.htm?key=abc.txt

 

Select Case e.Path
    Case "test.htm"
       
    Case "download.htm"
        Dim file As String = e.Values("file")
        Dim fs As System.IO.FileStream = Nothing
        fs = System.IO.File.Open("d:\" & file, System.IO.FileMode.Open)
        Dim btFile As Byte() = New Byte(fs.Length - 1) {}
        fs.Read(btFile, 0, Convert.ToInt32(fs.Length))
        fs.Close()
       
        e.Response.Headers("Content-Disposition") = "attachment;filename=" & file
        '输出文件格式
        e.Response.ContentType = "application/octet-stream"
       
        Dim output = e.response.OutputStream
        output.Write(btFile,0,btFile.Length)
        output.Close()
End Select

[此贴子已经被作者于2017/9/10 14:03:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 16:22:00 [显示全部帖子]

2、你文件放在哪里,对应的,这个路径就填写什么

 

 fs = System.IO.File.Open("d:\" & file, System.IO.FileMode.Open)

 

5、做个按钮,你要查看哪一个文件,对应就访问哪一个路径(红色代码要url编码一下) download.htm?key=/合同评审/申请人/A.docx


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 10:51:00 [显示全部帖子]

1、得到的file是什么?得到的file3弹出是否正确?

 

最后这里要编码 e.Response.Headers("Content-Disposition") = "attachment;filename=" & UrlEncode(FileSys.GetName(file))

 

2、换个浏览器能否正常显示?单独做个例子发上来看看。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 11:36:00 [显示全部帖子]

1、你尝试关闭重新打开项目;

 

2、尽量不要用7楼代码,不然文件名无法自定义。用你原来的代码图片也有问题?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 11:45:00 [显示全部帖子]

测试了一下大文件图片,同样正常显示。你是不是有冲突代码?代码执行完毕以后,请马上return,后面不要再执行其余代码。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 13:24:00 [显示全部帖子]

最后一句代码删除
 
e.WriteString(wb.Build)

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 14:15:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/15 9:02:00 [显示全部帖子]

直接写代码测试没问题,电脑手机测试都没问题。

 

Select Case e.path
    Case "test.htm"
       
    Case "download.htm"
        Dim file As String = "test.txt"
        Dim fs As System.IO.FileStream = Nothing
        fs = System.IO.File.Open("d:\" & file, System.IO.FileMode.Open)
        Dim btFile As Byte() = New Byte(fs.Length - 1) {}
        fs.Read(btFile, 0, Convert.ToInt32(fs.Length))
        fs.Close()
       
        e.Response.Headers("Content-Disposition") = "attachment;filename=" & file
        '输出文件格式
        e.Response.ContentType = "application/octet-stream"
        
        Dim output = e.response.OutputStream
        output.Write(btFile,0,btFile.Length)
        output.Close()
End Select

[此贴子已经被作者于2017/9/15 15:28:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/15 15:03:00 [显示全部帖子]

能解决就好,你那个提示一般是电脑本身问题

 

https://jingyan.baidu.com/article/a3761b2b8461321576f9aaf1.html

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/15 15:27:00 [显示全部帖子]

以下是引用shenyl0211在2017/9/15 15:22:00的发言:
不是上述问题

 

我这边测试没问题。你单独做一个项目,单独写19楼代码,有没有问题?


 回到顶部
总数 12 1 2 下一页