Foxtable(狐表)用户栏目专家坐堂 → 【weui】移动开发时,如何实现多个文件批量选择上传呢?


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

主题:【weui】移动开发时,如何实现多个文件批量选择上传呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
【weui】移动开发时,如何实现多个文件批量选择上传呢?  发帖心情 Post By:2021/1/22 13:05:00 [显示全部帖子]

【weui】移动开发时,如何实现多个文件批量选择上传呢?
            

红色部分代码启动后,其他weui内容又全部不在了  只有红色代码部分内容显示【且在手机端无法一次性选择多个文件,在电脑端可以一次性选择多个文件,有没有办法在手机端也可以选择多个文件呢?】

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



Dim div As String = FileSys.ReadAllText(ProjectPath & "\qz.txt")
            wb.AddPageTitle("","ph1","记录上传","【三会一课系统】")
            wb.AddForm("","form1","upload.htm")
            With wb.AddInputGroup("form1","ipg1","基础信息")
                
                '前一个"姓名"是ID,后一个"姓名"是标题
                With .AddSelect("单位名称","单位名称","|" & dt.sqlGetComboListString("单位名称"))
                    .Attribute = """
                End With
                With .AddSelect("支部名称","支部名称","")
                    .Attribute = """
                    
                End With
                .AddSelect("会议编号","会议编号","")
                .AddSelect("姓名","姓名","" )
                .AddSelect("图片类别","图片类别","|会议记录|学习记录|学习心得|其它材料")
                
            End With

            Dim sb As New StringBuilder
            sb.appendLine("<form enctype='multipart/form-data' action='accept.htm' method='post' id='form1' name='form1'>")
            sb.appendLine("单文件上传: <input type='file' name='up1' id='up1'><br/><br/>")
            sb.appendLine("多文件上传: <input type='file' name='up2' id='up2' multiple><br/><br/>")
            sb.appendLine("<input Type='submit' name='Sumbit' id='Sumbit' value='确定'>")
            sb.appendLine("</form>")
            e.WriteString(sb.ToString)

            wb.AddTopTips("","toptip1","请输入单位名称和支部名称!")
            With wb.AddInputGroup("form1","ipg2","文件上传") '文件上传
                With.AddUploader("up1","请选择图片",True) 'True表示允许上传多个文件
                .AllowDelete = True '允许删除
                .Incremental = True '允许重复选择文件或连续拍照
                .ScaleWidth = 1024
            End With
        End With
        'End With
        wb.InsertHTML(div)
        With wb.AddButtonGroup("form1","btg1",False)
            
            .Add("btn1", "确定上传", "button").Attribute= "" '调用js函数上传
            .Add("btn2", "取消上传", "submit").FormAction = "default.htm"
            'wb.InsertHTML("<div id='someelement'></div>")
        End With
        With wb.AddDialog("","dlg1", "增加成功","好好学习,天天向上!")
            .AddButton("btnOK","继续增加","default.htm")
        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)


如果取消红色部分代码  代码只能实现一次性选择一个文件进行多次上传,有没有办法实现一次性选择多个文件并一次上传呢?

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

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)http://www.foxtable.com/mobilehelp...  发帖心情 Post By:2021/1/22 14:10:00 [显示全部帖子]

老师  根据帮助  现在实现代码如下:
            With wb.AddInputGroup("form1","ipg2","文件上传") '文件上传
                With.AddUploader("up1","请选择图片",True) 'True表示允许上传多个文件
                .AllowDelete = True '允许删除
                .Incremental = True '允许重复选择文件或连续拍照
                .ScaleWidth = 1024
            End With
            With wb.AddInputGroup("form1","ipg3","文件上传") '文件上传
                wb.InsertHTML("<form enctype='multipart/form-data' action='accept.htm' method='post' id='form1' name='form1'>")
                wb.InsertHTML("单文件上传: <input type='file' name='up1' id='up1'><br/><br/>")
                wb.InsertHTML("多文件上传: <input type='file' name='up2' id='up2' multiple><br/><br/>")
                wb.InsertHTML("<input Type='submit' name='Sumbit' id='Sumbit' value='确定'>")
                wb.InsertHTML("</form>")
            End With
        End With
        wb.InsertHTML(div)
        With wb.AddButtonGroup("form1","btg1",False)
            .Add("btn1", "确定上传", "button").Attribute= "" '调用js函数上传
            .Add("btn2", "取消上传", "submit").FormAction = "default.htm"
            'wb.InsertHTML("<div id='someelement'></div>")
        End With

运行效果如下:

图片点击可在新窗口打开查看此主题相关图片如下:003.png
图片点击可在新窗口打开查看
怎么实现将单文件上传 多文件上传 放在文件上传第二个框呢?
同时确定按钮  直接关联到确定上传按钮事件上


其中js代码如下:
function submitForm(){
    show("tst1",2000);
if (document.get ElementById("单位名称").value && document.get ElementById("支部名称").value ){
    submitA jaxForm('form1','afterSubmit');
}
else{
show("toptip1",2000);
}
}
[此贴子已经被作者于2021/1/22 14:10:39编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)贴出完整代码  发帖心情 Post By:2021/1/22 14:41:00 [显示全部帖子]

麻烦老师看看 谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:上传代码.txt



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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)如果需要在当前位置插入HTML代码,请...  发帖心情 Post By:2021/1/22 17:00:00 [显示全部帖子]

谢谢老师

            Dim sb As New StringBuilder
            sb.appendLine("<div>")
            sb.appendLine("单文件上传: <input type='file' name='up1' id='up1'><br/><br/>")
            sb.appendLine("多文件上传: <input type='file' name='up2' id='up2' multiple><br/><br/>")
            sb.appendLine("</div>")
            wb.InsertHTML("form1",sb.ToString)

经过测试单文件上传的时候,文件可以到达数据表中
多文件上传的时候哦 一个文件都没有上传上去 也没有形成数据记录   麻烦老师指导下  谢谢

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)接收文件的代码?http://www.foxtabl...  发帖心情 Post By:2021/1/22 19:41:00 [显示全部帖子]

上传word文件并保存后  想在移动端显示出来  怎么显示word文件呢?直接显示在页面上而不是单独打开!
当前显示页面代码如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Dim xingming As String  = e.PostValues("姓名")
Dim danweimingcheng As String  = e.PostValues("单位名称")
Dim suoshuzhibu As String  = e.PostValues("部门名称")
Dim huiyibianhao As String  = e.PostValues("文件编号")
Dim tupianleibie As String  = e.PostValues("文件类别")
Dim cmd11 As New SQ LCommand
cmd11.Connec ti
cmd11.Comma ndText="sele ct  文件 from 文件附件 where  文件类别= '" & tupianleibie & "'and 文件编号= '" & huiyibianhao & "'and 姓名= '" & xingming & "'and 单位名称= '" & danweimingcheng & "' and 部门名称= '" & suoshuzhibu & "'"

Dim dt As DataTable = cmd11.ExecuteReader
Dim src As String
wb.AddPageTitle("","ph1","三会一课系统","专为瓮安检察院党建信息管理设计")
wb.AddForm("","form1","getvimg.htm")
With wb.AddInputGroup("form1","ipg11","基础资料")
    .AddInput("单位名称","单位名称","text").value = danweimingcheng
    .AddInput("部门名称","部门名称","text").value = suoshuzhibu
    .AddInput("姓名","姓名","text").value = xingming
    .AddInput("文件编号","文件编号","text").value = huiyibianhao
    .AddInput("文件类别","文件类别","text").value = tupianleibie
End With

With wb.AddInputGroup("form1","ipg1111","文件信息")
    With .AddUploader("up111","",True)
        .AllowAdd = False '关闭文件上传功能
        For Each dr As DataRow In dt.DataRows
            Dim imagebytes As Byte() = dr("文件")
            src = Convert.ToBase64String(imagebytes)
            .AddImage("data:image/jpeg;base64," & src)
        Next
        With wb.AddArticle("","ar1")
            .UseGallery = True '启用Gallery,必须放在第一行
            
        End With
    End With
End With
With wb.AddInputGroup("form1","ipg33","")
    With wb.AddButtonGroup("form1","btg1",False)  '垂直排列
        .Add("btn1", "继续检索", "submit").FormAction = "test.htm"
        .Add("btn2", "返回首页", "", "default.htm")
    End With
End With
e.WriteString(wb.Build) '生成网页

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)没有办法直接显示word文档。可以考虑...  发帖心情 Post By:2021/1/23 10:21:00 [显示全部帖子]

有点蓝老师  转成html再显示的话 怎么像图片那样 显示文件列表呢?要显示出来了才好进行选择性打开呢  

选择多文件上传后或者单文件上传后
按钮下面显示所上传文件的名称列表
用户选择这个列表直接打开对应的文件

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)1、使用内置的文件上传功能:http://...  发帖心情 Post By:2021/1/23 13:33:00 [显示全部帖子]

老师 周末愉快 当前代码已经实现如下图效果

此主题相关图片如下:111.png
按此在新窗口浏览图片

但是上传的文件word或者pdf等类型  怎么显示出文件列表  供用户点击打开或者下载
下面红色代码怎么完善呢?

代码如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Dim xingming As String  = e.PostValues("姓名")
Dim danweimingcheng As String  = e.PostValues("单位名称")
Dim suoshuzhibu As String  = e.PostValues("部门名称")
Dim huiyibianhao As String  = e.PostValues("文件编号")
Dim tupianleibie As String  = e.PostValues("文件类别")
Dim cmd11 As New SQ LCommand
cmd11.Connec ti
cmd11.Comma ndText="sele ct  文件 from 文件附件 where  文件类别= '" & tupianleibie & "'and 文件编号= '" & huiyibianhao & "'and 姓名= '" & xingming & "'and 单位名称= '" & danweimingcheng & "' and 部门名称= '" & suoshuzhibu & "'"

Dim dt As DataTable = cmd11.ExecuteReader
Dim src As String
wb.AddPageTitle("","ph1","三会一课系统","专为瓮安检察院党建信息管理设计")
wb.AddForm("","form1","getvimg.htm")
With wb.AddInputGroup("form1","ipg11","基础资料")
    .AddInput("单位名称","单位名称","text").value = danweimingcheng
    .AddInput("部门名称","部门名称","text").value = suoshuzhibu
    .AddInput("姓名","姓名","text").value = xingming
    .AddInput("文件编号","文件编号","text").value = huiyibianhao
    .AddInput("文件类别","文件类别","text").value = tupianleibie
End With

With wb.AddInputGroup("form1","ipg1111","文件信息")
    With .AddUploader("up111","",True)
        .AllowAdd = False '关闭文件上传功能
        For Each dr As DataRow In dt.DataRows
            Dim imagebytes As Byte() = dr("文件")
            src = Convert.ToBase64String(imagebytes)
            .AddImage("data:image/jpeg;base64," & src)
        Next
        With wb.AddArticle("","ar1")
            .UseGallery = True '启用Gallery,必须放在第一行
            
        End With
    End With
End With
With wb.AddInputGroup("form1","ipg33","")
    With wb.AddButtonGroup("form1","btg1",False)  '垂直排列
        .Add("btn1", "继续检索", "submit").FormAction = "test.htm"
        .Add("btn2", "返回首页", "", "default.htm")
    End With
End With
e.WriteString(wb.Build) '生成网页

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)使用a标签:wb.InsertHTML("  发帖心情 Post By:2021/1/23 16:34:00 [显示全部帖子]

方法一:
With wb.AddInputGroup("form1","ipg111111","文件列表")
    For Each dr As DataRow In dt.DataRows
        Dim fln As  String = dr("图片名称")
        Dim wj As String =ProjectPath & "Attachments\" & fln
        dr.SQLLoadFile("图片",wj)
        Dim sb As New StringBuilder
        sb.appendLine("<div>")
        sb.appendLine("<a href='" & wj & "'>" & fln & "</a>")
        sb.appendLine("</div>")
        wb.InsertHTML("form1",sb.ToString)
        'MessageBox.Show("<a href='" & wj & "'>" & fln & "</a>")
    Next
End With
方法二:
For Each dr As DataRow In dt.DataRows
    Dim fln As  String = dr("图片名称")
    Dim wj As String =ProjectPath & "Attachments\" & fln
    wb.InsertHTML("<a href='" & wj & "'>" & fln & "</a>")
Next

代码实现效果如下:

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


想实现当点击文件名称后,系统后台下载文件到本地,然后打开这个文件,便于阅读
当前点击文件名称没有任何效果  经查是当前位置ProjectPath & "Attachments\" & fln没有文件 
MessageBox.Show("<a href='" & wj & "'>" & fln & "</a>")弹出的提示 位置正确 但是没有对应文件下载到本地或者服务器上
红色部分代码没有实现文件下载 麻烦老师指导下  谢谢!
[此贴子已经被作者于2021/1/23 16:36:02编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)文件保存到"d:\web"路径里:http://w...  发帖心情 Post By:2021/1/23 16:50:00 [显示全部帖子]

有点蓝老师   图片列是二进制列
所有文件都是直接保存在二进制列的
现在想让用户点击文件名称之后  系统下载文件  然后再按照链接地址打开对应文件  上述代码系统下载文件到指定目录的代码没有起作用  麻烦老师帮忙看看  谢谢!

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)文件保存到"d:\web"路径里:http://w...  发帖心情 Post By:2021/1/23 17:47:00 [显示全部帖子]

With wb.AddInputGroup("form1","ipg111111","文件列表")
    For Each dr As DataRow In dt.DataRows
        Dim fln As  String = dr("图片名称")
        'Dim wj As String =ProjectPath & "Attachments\" & fln
        'dr.SQLLoadFile("图片",wj)
        Dim wj As String ="d:\web" & fln
        dr.SQLLoadFile("图片",wj)
        Dim sb As New StringBuilder
        sb.appendLine("<div>")
        sb.appendLine("<a href='" & wj & "'>" & fln & "</a>")
        sb.appendLine("</div>")
        wb.InsertHTML("form1",sb.ToString)
        'MessageBox.Show("<a href='" & wj & "'>" & fln & "</a>")
    Next
End With
 
改成d:\web目录  也没有从图片二进制列将对应的文件下载到d:\web目录下,

当前图片二进制列 不光是存储了图片还有word excel pdf等文件  想实现的是对应A标签生成的文件名点击的时候 系统将对应的二进制列保存的文件下载到系统指定目录下,然后由用户进行点击打开

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