Foxtable(狐表)用户栏目专家坐堂 → 使用增强Uploader方式上传文件显示上传成功但提示失败且有页面刷新系列问题


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

主题:使用增强Uploader方式上传文件显示上传成功但提示失败且有页面刷新系列问题

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


加好友 发短信
等级:幼狐 帖子:159 积分:1501 威望:0 精华:0 注册:2013/2/18 21:15:00
使用增强Uploader方式上传文件显示上传成功但提示失败且有页面刷新系列问题  发帖心情 Post By:2018/11/20 11:44:00 [只看该作者]

 
 描述:

 1、以下函数(函数名称UploadFile)在项目HttpRequest事件中调用,函数代码如下:

 

Dim e As object =Args(0)
Dim wb As New weui
wb.AddForm("","form1","UploadFile.htm") ’
此处与Js中回调的页面UploadFile.htm一致
If e.PostValues.Count = 0 And e.Files.Count=0 Then'
必须加上e.Files.Count=0 才能解决以上BUG
    With wb.AddInputGroup("form1","ipg22","
文件上传") '带图片浏览的文件上传
        With .AddUploader("up1","
图片",True) 'True表示允许一次上传多个文件
            .AllowDelete = True '
允许用户删除图片
            .Incremental = True '
允许 重复选择文件或连续拍照
        End With
    End With
    With wb.AddButtonGroup("form1","btg1",True)
          .Add("btn1", "
确定", "button").Attribute= "" '调用js函数上传
    End With
    wb.AddToast("","tst1", "
正在上传",1)
        wb.AddToast("","tst2", "
上传成功",0)
        wb.AddToast("","tst3", "
上传失败",0).Icon= "warn"
        wb.AppendHTML("<script src='./lib/MutiUploadImages.js'></script>") '
引入脚本文件
Else '
加上e.Files.Count=0 解决同一页面上传时e.PostValues.Count 仍为 0导致无法响应提交后页面执行的问题
    For Each key As String In e.Files.Keys
        If key = "up1" Then
            For Each fln As String In e.Files(key)
                e.SaveFile(key, fln, ProjectPath & "Attachments\" & fln)
            Next           
        End If
    Next
    '
生成增加成功提示页面
    With wb.AddMsgPage("","msgpage","
上传成功", "影像上传") '生成成功提示页
        .AddButton("btn1","
继续上传","UploadFile.htm")
        .AddButton("btn2","
返回","EditBaoxiaoMsg.htm")
    End With
End If
e.WriteString(wb.Build) '
生成网页

 

  2、同时按增强Uploader使用说明采用Ajax方式在D:\Web\Lib目录下建立了MutiUploadImages.js文件,代码如下:

function submitForm(){
    show("tst1",2000);
    var result = submitAjaxForm('form1','afterSubmit');
}

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

 

问题是:

1、可以选择多个文件上传了,但经查图片也上传成功,而提示的信息是上传失败,如下图:

图片点击可在新窗口打开查看

 

2、上传后提示消失后页面没有变化,仍是上传时的选择页面,上传后也没有清除选择的图片(没有执行UploadFile函数中的If else页面生成代码)

图片点击可在新窗口打开查看

 

3、在选择页面点击选择图片进入图片预览界面,点删除按钮,预览中是删除了,但如何返回刷新删除后的选择图片上传页面?

图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 12:21:00 [只看该作者]

1、你要返回OK,才会提示上传成功,如

 

e.WriteString("OK")

 

而不是

 

e.WriteString(wb.Build) '生成网页

 

2、刷新,请使用js处理,跳转到另一个网页,如

 

location="/成功了.htm"

 

3、参考如何删除图片 http://www.foxtable.com/mobilehelp/scr/0094.htm

 


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


加好友 发短信
等级:幼狐 帖子:159 积分:1501 威望:0 精华:0 注册:2013/2/18 21:15:00
  发帖心情 Post By:2018/11/20 17:59:00 [只看该作者]

 谢谢!

 回到顶部