以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]foxtable服务端压缩打包文件,将文件名发送到前端,报错?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146661)

--  作者:kolen
--  发布时间:2020/2/28 16:29:00
--  [求助]foxtable服务端压缩打包文件,将文件名发送到前端,报错?
   老师我是用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
--  发布时间:2020/2/28 16:34:00
--  
我把filename直接修改成2.png,文件正常下载。
      zip.AddFile(HttpServer.WebPath & "attachments\\" & "2.png" )




--  作者:kolen
--  发布时间: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)