Foxtable(狐表)用户栏目专家坐堂 → [求助]foxtable服务端压缩打包文件,将文件名发送到前端,报错?


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

主题:[求助]foxtable服务端压缩打包文件,将文件名发送到前端,报错?

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
[求助]foxtable服务端压缩打包文件,将文件名发送到前端,报错?  发帖心情 Post By:2020/2/28 16:29:00 [只看该作者]

   老师我是用foxtable做后端服务,前端下载文件,后端先ZIP压缩打包,再把文件名发送前端,前端下载压缩包。但总是报错。
你看看哪里的问题?

后端总是报错,“路径中有非法字符”

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



后端代码:
 Case "zipfiles"
        Dim Name As String = e.Values("names") '前端传过来是文件名称的字符串"a.pdf,b.doc,c.jpg"
        Dim Names As String() = Name.Split(",")
        Dim zipname As String = e.Values("编号") & "-" & Format(Date.Now,"yyyyMMddHHmmss") & ".zip"

        Dim zip As New zipFile
         zip.Create(HttpServer.WebPath & "\tempfile\" & zipname)
       For Each filename As String In Names
      zip.AddFile(HttpServer.WebPath & "attachments\" & filename )  '这里代码哪里有错误呢?
       Next
      zip.Close()
     e.WriteString(zipname.ToString)

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2020/2/28 16:34:00 [只看该作者]

我把filename直接修改成2.png,文件正常下载。
      zip.AddFile(HttpServer.WebPath & "attachments\" & "2.png" )




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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2020/2/28 17:07:00 [只看该作者]

 老师,找到原因了,去掉前后空格,就好了。哈哈!图片点击可在新窗口打开查看
Case "zipfiles"
        Dim Name As String = e.Values("names") '前端传过来是文件名称的字符串"a.pdf,b.doc,c.jpg"
         MessageBox.Show(Name)
        Dim Names As String() = Name.Split(",")
        Dim zipname As String = e.Values("编号") & "-" & Format(Date.Now,"yyyyMMddHHmmss") & ".zip"

        Dim zip As New zipFile
         zip.Create(HttpServer.WebPath & "\tempfile\" & zipname)
       For Each filename As String In Names
           filename = filename.Trim()
       zip.AddFile(HttpServer.WebPath & "attachments\" & filename )
       Next
      zip.Close()
     e.WriteString(zipname.ToString)


 回到顶部