以文本方式查看主题 - 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压缩打包,再把文件名发送前端,前端下载压缩包。但总是报错。 你看看哪里的问题? 后端总是报错,“路径中有非法字符” 后端代码: 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) |