Foxtable(狐表)用户栏目专家坐堂 → 图片上传失败


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

主题:图片上传失败

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
图片上传失败  发帖心情 Post By:2017/4/7 22:11:00 [显示全部帖子]

Dim e As RequestEventArgs = args(0)                            '注册第7页,上传照片
Select Case e.Path
    Case "images.htm"
        Dim wb As New weui
        If e.PostValues.Count = 0 Then
            wb.AddTopTips("","toptip1","") '用于显示动态错误提示
            'wb.AddPageTitle("","pageheader","***","*********")
            With wb.AddArticle("","ar1")
                .AddImage("./images/langwo/logo1.jpg")
                .Attribute = "style='padding:0em;'"
            End With
            wb.AddForm("","form1","valid_images.htm").Attri-bute="on-submit='re-turn validit_images()'"  
            With wb.AddInputGroup("form1","ipg1","展示照(选择1张靓照即可)") '文件上传(1个)
                .AddUploader("up1","",False)
            End With
            With wb.AddInputGroup("form1","ipg22","生活照(选择4张以上靓照)") '带图片浏览的文件上传(最少4个)
                With.AddUploader("up4","",True) 'True表示允许一次上传多个文件
                .AllowDelete = True '允许删除
                .Incremental = True '允许 重复选择文件或连续拍照
            End With
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "提交", "submit")         '.Attri-bute= "on-click='sub-mitForm()'" '调用js函数上传
        End With
        wb.AddToast("","tst1", "正在上传",1)
        wb.AddToast("","tst2", "上传成功",0)
        wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
        wb.AppendHTML("<script src='./lib/ajaxform_images.js'></script>") '引入脚本文件
        e.WriteString(wb.Build) '生成网页
    End If
End Select

下面的代码保存图片,图片数量验证正常,上传没有成功,没有任何提示
Dim e As RequestEventArgs = args(0)                             '验证页面(照片)
Select Case e.Path
    Case "valid_images.htm"
        Dim wb As New weui
        Dim drbianh As String = e.Cookies("drbianhao") '为cookie传递数据
        Dim NewName As String
        msgbox(drbianh)
        Dim dr As DataRow = DataTables("会员资料").sqlFind("会员编号 = '" & drbianh & "'")
        If dr IsNot Nothing Then                           '测试代码:msgbox(e.PostValues("isr"))
            For Each key As String In e.Files.Keys
                If key = "up1" Then
                    For Each fln As String In e.Files(key)
                        msgbox(0)
                        Dim ext As String = fln.Split(".")(1)
                        NewName = Format(Date.Now, "yyyyMMddHHmmssffffff") & Rand.Next(10000) & "." & ext
                        e.SaveFile(key, fln, ProjectPath & "Attachments\" & NewName)
                        dr("展示照") &= iif(dr.IsNull("展示照"), "", vbcrlf) & NewName
                    Next
                End If
            Next
            For Each key1 As String In e.Files.Keys
                If key1 = "up4" Then
                    For Each fln1 As String In e.Files(key1)
                        msgbox(1)
                        Dim ext1 As String = fln1.Split(".")(1)
                        NewName = Format(Date.Now, "yyyyMMddHHmmssffffff") & Rand.Next(10000) & "." & ext1
                        e.SaveFile(key1, fln1, ProjectPath & "Attachments\" & NewName)
                        dr("生活照") &= iif(dr.IsNull("生活照"), "", vbcrlf) & NewName
                    Next
                End If
            Next
            dr.save()              '保存
        End If
        wb.InsertHTML("<meta http-equiv='Re-fresh' con-tent='0; u-rl=/success.htm'>") '那么直接跳转到登录页面
        e.WriteString(wb.Build) '生成网页
End Select
[此贴子已经被作者于2017/4/7 22:40:07编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/7 22:42:00 [显示全部帖子]

1楼valid_images.htm代码,加了3处msgbox(粉色),执行,验证正常,但是3处,均无提示,居然没有一个执行的

images.htm里面的那个form,信息已经提交到valid_images.htm的啊,咋会不执行

wb.AddForm("","form1","valid_images.htm").Attri-bute="on-submit='re-turn validit_images()'"
[此贴子已经被作者于2017/4/7 22:44:51编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/7 23:00:00 [显示全部帖子]

这是js文件:
1.数量不对,可以正常提示,我上传的时候,数量都是对的,
2.js代码我加了粉色alert,第二处不能提示(第一个提示正常)
function validit_images(){
var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length;
var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
alert(v1 + " " + v2);
if(v1 < 1){
    showTopTips("toptip1","请选择1张展示照上传",2000);
    return false;
}
if(v2 < 4){
    showTopTips("toptip1","请选择4张以上生活照上传",2000);
    return false;
}
return true;
alert(v2);
}
这是httprequest事件跳转代码,核对是正确的

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

[此贴子已经被作者于2017/4/7 23:15:36编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/7 23:17:00 [显示全部帖子]

在你6楼刚发布时
我测试了下,js代码好像有点问题,js应该不返回true,写在5楼了
[此贴子已经被作者于2017/4/7 23:18:48编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/7 23:28:00 [显示全部帖子]

麻烦看看思路,对否(首先,js验证成功,再调用submitForm()提示上传,进入了一个页面上传照片

5楼js代码中:return true,可以去掉了
111
function validit_images(){
var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length;
var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
alert(v1 + " " + v2);
if(v1 < 1){
    showTopTips("toptip1","请选择1张展示照上传",2000);
    return false;
}
if(v2 < 4){
    showTopTips("toptip1","请选择4张以上生活照上传",2000);
    return false;
}
//return true;  这句可以不要了
}

在images.htm代码里调用submitForm()
Dim e As RequestEventArgs = args(0)                            '注册第7页,上传照片
    Case "images.htm"
        Dim wb As New weui
        If e.PostValues.Count = 0 Then
            wb.AddTopTips("","toptip1","") '用于显示动态错误提示
            'wb.AddPageTitle("","pageheader","***","*********")
            With wb.AddArticle("","ar1")
                .AddImage("./images/langwo/logo1.jpg")
                .Attribute = "style='padding:0em;'"
            End With
            wb.AddForm("","form1","valid_images.htm").Attri-bute="on-submit='re-turn validit_images()'"  
            With wb.AddInputGroup("form1","ipg1","展示照(选择1张靓照即可)") '文件上传(1个)
                .AddUploader("up1","",False)
            End With
            With wb.AddInputGroup("form1","ipg22","生活照(选择4张以上靓照)") '带图片浏览的文件上传(最少4个)
                With.AddUploader("up4","",True) 'True表示允许一次上传多个文件
                .AllowDelete = True '允许删除
                .Incremental = True '允许 重复选择文件或连续拍照
            End With
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "提交", "submit").Attri-bute= "on-click='sub-mitForm()'"  '调用js函数上传
        End With
        wb.AddToast("","tst1", "正在上传",1)
        wb.AddToast("","tst2", "上传成功",0)
        wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
        wb.AppendHTML("<script src='./lib/ajaxform_images.js'></script>") '引入脚本文件
       wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件  '这里可以引入2行js文件吗?
        e.WriteString(wb.Build) '生成网页
    End If

之后在另一个页面保存图片
    Case "receive.htm"
        For Each key As String In e.Files.Keys
            For Each fln As String In e.Files(key)
                e.SaveFile(key,fln,"d:\web\uploadfiles\" & fln) '
保存接收到的文件
            Next
        Next
        e.WriteString("OK")
[此贴子已经被作者于2017/4/7 23:53:41编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/8 11:29:00 [显示全部帖子]

楼上的代码,复制进入相应函数内,看起来好像是调用js应该是对的啊
未保存
数量不够无提示
展示照一次只能选择1张,这个是好的,但是,希望不能有第2张照片

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


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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/8 22:22:00 [显示全部帖子]

回头看了楼上的内容,又看了upload、submitajaxform等帮助文件,也重新确定了需求,改写代码后(粉色部分):

发现:感觉整个js好像没有调用成功,toptip不提示,无法跳转页面,页面不保存,11楼的问题还在。valid_images.htm,页面的代码,没有改动(1楼有):
这是images.htm页面代码:
Dim e As RequestEventArgs = args(0)                            '注册第7页,上传照片
Select Case e.Path
    Case "images.htm"
        Dim wb As New weui
        If e.PostValues.Count = 0 Then
            wb.AddTopTips("","toptip1","") '用于显示动态错误提示
            'wb.AddPageTitle("","pageheader","***","*********")
            With wb.AddArticle("","ar1")
                .AddImage("./images/langwo/logo1.jpg")
                .Attribute = "style='padding:0em;'"
            End With
            wb.AddForm("","form1","valid_images.htm")
            With wb.AddInputGroup("form1","ipg1","展示照(选择1张靓照即可)") '文件上传(1个)
                With .AddUploader("up1","",False)
                    .AllowDelete = True '允许用户删除图片
                    .ScaleWidth = 400 '自动压缩图片宽度为400个像素,高度等比例压缩
                End With
            End With
            With wb.AddInputGroup("form1","ipg22","生活照(选择4张以上靓照)") '带图片浏览的文件上传(最少4个)
                With.AddUploader("up4","",True) 'True表示允许一次上传多个文件
                .AllowDelete = True '允许删除
                .Incremental = True '允许 重复选择文件或连续拍照
                .ScaleWidth = 400 '自动压缩图片宽度为400个像素,高度等比例压缩
                End With
            End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "提交", "button").Attri-bute= "on-click='re-turn validit_images()'" '调用js函数上传
        End With
        wb.AddToast("","tst1", "正在上传",1)
        wb.AddToast("","tst2", "上传成功",0)
        wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
        wb.AppendHTML("<script sr-c='./lib/ajaxform_images.js'></script>") '引入脚本文件
        e.WriteString(wb.Build) '生成网页
    End If
End Select

这是js代码:
Function validit_images(){
  var v1 = document.getElementById("up1").files.length;
  var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
  alert(v1 + " " + v2);
 If(v1 < 1){
  showTopTips("toptip1","请选择1张展示照上传!",2000);   ’这些toptip不显示
  Return false;
  }
 If(v1 > 1){
  showTopTips("toptip1","展示照只可以上传1张!",2000);
  Return false;
  }
 If(v2 < 4){
  showTopTips("toptip1","请选择4张以上生活照上传!",2000);
  Return false;
  }
 If(v2 > 10){
  showTopTips("toptip1","生活照最多可以上传10张!",2000);
  Return false;
  }
  show("tst1",2000);
  var result = submitAjaxForm('form1','afterSubmit');  ’这里应该没有返回用于保存的值,感觉整个js都没有调用
}

Function afterSubmit(result){
  hide("tst1");
 If (result=='OK') {
  show("tst2");
  location="success.htm";
  }
 Else{
    show("tst3",2000);
  }
}

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/9 14:52:00 [显示全部帖子]

按楼上意思,问题还在,做了个例子,麻烦瞧瞧

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:images.rar



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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/10 8:41:00 [显示全部帖子]

15楼的例子,按16楼将所有大写改为了小写,上传图片未成功,toptip不提示,感觉js没有被调用,麻烦看看

这是修改后的js文件:
function validit_images(){
  var v1 = document.getelementbyId("up1_thumbnails").getelementsbytagname("li").length;
  var v2 = document.getelementbyId("up4_thumbnails").getelementsbytagname("li").length;
  alert(v1 + " " + v2);
 If(v1 < 1){
  showtoptips("toptip1","请选择1张展示照上传!",2000);
  return false;
  }
 If(v1 > 1){
  showtoptips("toptip1","展示照只可以上传1张!",2000);
  return false;
  }
 If(v2 < 4){
  showtoptips("toptip1","请选择4张以上生活照上传!",2000);
  return false;
  }
 If(v2 > 10){
  showtoptips("toptip1","生活照最多可以上传10张!",2000);
  return false;
  }
  show("tst1",2000);
  var result = submitajaxform('form1','aftersubmit');
}

function aftersubmit(result){
  hide("tst1");
 If (result=='ok') {
  show("tst2");
  location="success.htm";
  }
 else{
    show("tst3",2000);
  }
}

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/4/10 9:22:00 [显示全部帖子]

15楼例子,js把Function中的F大写改成小写,If改成if,Else改成else,还是没有反应
function validit_images(){
  var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length;
  var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
  alert(v1 + " " + v2);
 if(v1 < 1){
  showTopTips("toptip1","请选择1张展示照上传!",2000);
  Return false;
  }
 if(v1 > 1){
  showTopTips("toptip1","展示照只可以上传1张!",2000);
  Return false;
  }
 if(v2 < 4){
  showTopTips("toptip1","请选择4张以上生活照上传!",2000);
  Return false;
  }
 if(v2 > 10){
  showTopTips("toptip1","生活照最多可以上传10张!",2000);
  Return false;
  }
  show("tst1",2000);
  var result = submitAjaxForm('form1','afterSubmit');
}

Function afterSubmit(result){
  hide("tst1");
 if (result=='OK') {
  show("tst2");
  location="success.htm";
  }
 else{
    show("tst3",2000);
  }
}

chrome截图如下:

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


 回到顶部
总数 16 1 2 下一页