Foxtable(狐表)用户栏目专家坐堂 → [求助]由于线程退出或应用程序请求,已中止 I/O 操作


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

主题:[求助]由于线程退出或应用程序请求,已中止 I/O 操作

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


加好友 发短信
等级:幼狐 帖子:153 积分:1895 威望:0 精华:0 注册:2017/3/21 22:40:00
  发帖心情 Post By:2019/10/24 17:54:00 [只看该作者]

今天看了下错误数,还是没有解决,新的版本
下面是i/o错误数

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

我明天改成同步,看看会不会这样

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


加好友 发短信
等级:幼狐 帖子:153 积分:1895 威望:0 精华:0 注册:2017/3/21 22:40:00
  发帖心情 Post By:2019/10/25 9:49:00 [只看该作者]

同步执行也出现I/O错误,应当是savefile本身问题;

 回到顶部
帅哥,在线噢!
有点蓝
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106158 积分:539907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/25 9:54:00 [只看该作者]

服务器外网带宽有多少?如果您的项目有大量的并发上传文件的,如果带宽不够,网络阻塞肯定会有这种情况。

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


加好友 发短信
等级:幼狐 帖子:153 积分:1895 威望:0 精华:0 注册:2017/3/21 22:40:00
  发帖心情 Post By:2019/10/29 11:32:00 [只看该作者]

当前I/O问题可能跟提交信息不上来不是一个问题,提交信息不上来,后来发现很可能是 ios11.3以上无法上传提交图文的问题  即 submitAjaxForm 在这个版本下,提交数据存在问题;后面的解决方法是:
主要方法就是将图片作为一个base64编码的字符串提交给服务器,然后服务器再将字符串转码为图片保存

1、主页面代码加入  wb.InsertHTML("form1","<input name='picstr' value='' id='picstr' type='hidden' ><br/>")
2、通过sendAjaxjson来提交数据;
修改sendajaxjson里面代码,在内部代码里面加入已生成json信息:
obj.活动码 = document.getElementById("活动码").value;
    obj.家长姓名=document.getElementById("家长姓名").value;
obj.手机号码=document.getElementById("手机号码").value;
obj.验证码=document.getElementById("验证码").value;
obj.picstr=document.getElementById("picstr").value;
3、修改weui.me.js的previewFile3函数:
Files[Files.length] = {blobFile:red.FileName,data:base64toBlob(base64Data)};
var pics = document.getElementById("picstr")
if(pics != null) {
pics.value = pics.value + "@" + base64Data
}

做完上述事情,才能在web段提交图片的字符串信息过来;

然后服务器端这样来处理传递过来的图片信息:
Dim picstr() As String = jo("picstr").ToString().Split("@")
        Dim tp As String
        For i As Integer = 0 To picstr.Length-1
            Dim strimg As String = picstr(i)
            If strimg <> "" Then
                Dim mc = System.Text.RegularExpressions.Regex.Matches(strimg ,"data:image\/.+base64,")
                If mc.count >= 1 Then
                    strimg = strimg.Replace(mc(0).value,"")
                End If
                Dim bs As Byte() = Convert.FromBase64String(strimg)
                Dim stream As System.IO.Stream = New System.IO.MemoryStream(bs)
                Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream)
                tp  = Guid.NewGuid().tostring & Rand.Next(10000,90000)
                bmp.Save( "D:\FTP\图片文件\新客活动\" & tp & ".jpg"  , System.Drawing.Imaging.ImageFormat.Jpeg)
            End If
        Next

结束;

 回到顶部
总数 24 上一页 1 2 3