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


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

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

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


加好友 发短信
等级:幼狐 帖子:153 积分:1895 威望:0 精华:0 注册:2017/3/21 22:40:00
  发帖心情 Post By:2019/10/21 13:20:00 [显示全部帖子]

还是有I/O错误,但是错误很少了
是不是跟我在页面的提交按钮的js事件也有关系

function myfunction() {
var i = document.getElementById("up128").Files.length;
if (i > 1) {
alert('只能上传1张照片!');
} else {
var result = submitAjaxForm('form1', '', false,'tst1');
if (result == 'OK') {
//show('dlg1')
window.location.href = "cg.htm";
} else {
showDialog('dlg2', '错误', result);`
}
}
}

但是这里设置的是同步啊

 回到顶部
帅哥哟,离线,有人找我吗?
new4w
  12楼 | 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
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
new4w
  14楼 | 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

结束;

 回到顶部
总数 15 上一页 1 2