以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  狐表如何接收图片base64的代码 来保存为图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142440)

--  作者:jnletao
--  发布时间:2019/10/27 17:38:00
--  狐表如何接收图片base64的代码 来保存为图片
传统文件上传用这个
Dim sb As New StringBuilder
For Each key As String In e.Files.Keys
\'sb.AppendLine("已经上传" & e.Files(key).Count & "个图片文件:
")
For Each fl As String In e.Files(key)
\'sb.AppendLine(fl)
\'e.SaveFile(key,fl,HttpServer.WebPath + "/upload/" & fl)
Dim NewName As String = fl
Dim idx As Integer = fl.LastIndexOf(".")
Dim cnt As Integer = 1
Do While FileSys.FileExists(ProjectPath & "\\upload\\" & NewName) \'判断文件夹是否存在同名文件
NewName = fl.Insert(idx,"(" & cnt & ")") \'如果存在同名文件,在原文件名加上序号
cnt = cnt + 1 \'递增序号
Loop
sb.AppendLine(NewName)
e.SaveFile(key,fl,HttpServer.WebPath + "/upload/" & NewName)
Next
Next

如果客户端用的base64的代码 ,如何接收保存?


--  作者:有点蓝
--  发布时间:2019/10/27 20:51:00
--  
客户端是如何发送这个base64的代码的,代码发上来看看
--  作者:jnletao
--  发布时间:2019/10/28 11:32:00
--  
客户端用的XMLHttpRequest,已试验,与正常文件一样传。不过在客户端传输文件手动中止时,服务端上述代码(写在upload自定义函数里)报错,而且没有提示错误细节。
尝试用try 跳过,也不行。
我想要的效果是当服务端判断客户端不再传输文件时,向客户端提示

Catch ex As Exception
    sb.AppendLine("意外错误或客户端已断开")
    e.WriteString(sb.ToString)
End Try

如下为服务端截图

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191028111718.jpg
图片点击可在新窗口打开查看






--  作者:有点蓝
--  发布时间:2019/10/28 11:50:00
--  
前端,后端的完整代码发上来看看
--  作者:jnletao
--  发布时间:2019/10/28 12:20:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191028121726.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.zip
项目事件

HttpRequest

Select Case e.Path
Case "upload.htm"
Dim sb As New StringBuilder
sb.appendLine("
")
sb.appendLine("单文件上传:

")
sb.appendLine("多文件上传:

")
sb.appendLine("")
sb.appendLine("
")
e.WriteString(sb.ToString)
Case "accept.htm"
Dim sb As New StringBuilder
For Each key As String In e.Files.Keys
sb.AppendLine(key & " 上传" & e.Files(key).Count & "个文件,分别是:
")
For Each fl As String In e.Files(key)
sb.AppendLine(fl & "
")
e.SaveFile(key,fl, ProjectPath & fl) \'保存接收到的文件
Next
sb.AppendLine("
")
Next
sb.AppendLine("以上文件服务器已正确接收并保存!")
e.WriteString(sb.ToString)
End Select

计划管理

表事件

窗口表事件

窗口与控件事件

窗口1_Button1_Click

HttpServer.Prefixes.Add("http://127.0.0.1:8033/")
HttpServer.Start()

窗口1_Button2_Click

HttpServer.Close()

自定义函数

全局代码

菜单事件





--  作者:new4w
--  发布时间:2019/10/28 13:36:00
--  
我也想知道
--  作者:有点蓝
--  发布时间:2019/10/28 13:43:00
--  
这种只能到BeforeShowErrorMessage事件处理异常了:http://www.foxtable.com/webhelp/topics/2655.htm

try catch没有用的