Foxtable(狐表)用户栏目专家坐堂 → 测试增强Uploader不成功


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

主题:测试增强Uploader不成功

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
测试增强Uploader不成功  发帖心情 Post By:2017/6/29 0:09:00 [只看该作者]

http://www.foxtable.com/mobilehelp/scr/0106.htm

使用苹果手机,拍照上传,第二次上传的时候,会把第一次上传的覆盖

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2017/6/29 8:32:00 [只看该作者]

这些通过严格测试的。
1、下载覆盖weui,确保你用的weui是最新的。
2、下载安装foxtable,确保你用的foxtable是最新的。
3、实在不行,换个浏览器

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/29 8:41:00 [只看该作者]

 是不是同名了?你在httprequest事件那里处理的时候,保存如果同名就会覆盖

 

http://www.foxtable.com/mobilehelp/scr/0033.htm

 


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2017/6/29 13:16:00 [只看该作者]

1、在"d:\web"目录下,建立一个子目录lib,在这个目录建立一个文本文件,文件名为"ajaxform.js",文件内容为:

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

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

提示: 这里的submitAjaxForm是通过异步方式运行的,用回调函数接收服务器返回的结果,因为如果用同步方式运行,将无法显示“正在上传”的提示。

2、HttpRequest事件代码:

Dim fl As String = "d:\web\" & e.path
If
 filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar"
            e.WriteFile(fl)
            Return '
这里必须返回
    End Select

End
 If
Select
 Case e.Path
    Case "upload.htm"
        Dim wb As New weui
        wb.AddForm("","form1","receive.htm")
        With wb.AddInputGroup("form1","ipg1","
文件上传")
            With .AddUploader("up128","
照片",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/ajaxform.js'></script>"'
引入脚本文件
        e.WriteString(wb.Build) '
生成网页
    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")

End
 Select














用的就是这段代码,一个子没改。前后两次拍照一起上传上传名字都是image.jpg,导致覆盖。如果拍两张一起上传,第二张的名字image(1).jpg


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2017/6/29 14:31:00 [只看该作者]

修改下面的代码,如果存在同名文件,就给文件加一个递增的序号,原理和三楼一样:

    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/6/29 14:33:08编辑过]

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2017/6/29 22:20:00 [只看该作者]

用了三楼的代码,解决了问题。

还有一个问题,网页中有表单数据和图片上传,那个按钮的代码怎么写,可以同时提交表单数据和上传图片?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/29 22:22:00 [只看该作者]

 你的表单是form1,提交的时候图片和表单其余值,一起发送到服务器的。根据 postvalues 可以获取值。

 回到顶部