Foxtable(狐表)用户栏目专家坐堂 → 关于照相


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

主题:关于照相

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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
关于照相  发帖心情 Post By:2020/3/24 16:10:00 [只看该作者]

wb.AddForm("","form1","receive.htm")
With wb.AddInputGroup("form1","ipg1","")
    With .AddUploader("up1","近期免冠证件照",True)
        .AddImage("./xp/" & e.Cookies("username") & ".jpg")
        .AllowDelete = False '允许删除
        .Incremental = True '允许重复选择文件或连续拍照
        .Accept = "image/*"
        .ScaleWidth=400
    End With
    With .AddUploader("up2","户口本主页照片",True)
        .AddImage("./fk/" & e.Cookies("username") & "A.jpg")
        .AllowDelete = False '允许删除
        .Incremental = True '允许重复选择文件或连续拍照
        .Accept = "image/*"
        .ScaleWidth=400
    End With
    With .AddUploader("up3","户口本人页照片",True)
        .AddImage("./fk/" & e.Cookies("username") & "B.jpg")
        .AllowDelete = False '允许删除
        .Incremental = True '允许重复选择文件或连续拍照
        .Accept = "image/*"
        .ScaleWidth=400
    End With
End With
wb.InsertHTML("form1","<p>1.学生本人相片应为清晰蓝底证件照;凡学校未要求时不得上传照片</p>")
wb.InsertHTML("form1","<p>2.户口分别提交户主首页和本人页;</p>")
With wb.AddButtonGroup("form1","btg1",True)
    Dim btn1 = .Add("btn1", "确定", "button")
    btn1.kind=1
    btn1.attribute=" style='border:1px solid black;border-radius:20px;padding:0px;width:50%'"
End With


老师:一直有个问题没得到根本解决,在网页中打开上面代码是可以同时调出相机或相册,但用hbulider打包后手机APP测试就只能有相册,这造成很不方便,这个有什么办法改进?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106679 积分:542584 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/24 16:19:00 [只看该作者]

这种是网页的通用用法,如果不支持,我们也没有办法。hbulider应该是有自己专门的接口调用相机的。

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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2020/3/24 18:53:00 [只看该作者]

老师请问我用例子来改,up1可以打开相册,拍照在app中可以调摄像头,我想到照的图片放在imes中,如果重拍覆盖,现这是样是拍一张又追加一张,这怎么改呢

wb.AppendHTML("<script type='text/javascript' src='../mui/js/common.js'></script>", True)
wb.AddForm("","form1","submit.htm")
With wb.AddInputGroup("form1","ipg1","测试")   
    .AddUploader("up1","照片",True) 'True表示允许上传多个文件
End With
wb.InsertHTML("form1", "<div id='imgs' style ='width:140px;height:180px;border:1px solid red'></div>")
With wb.AddButtonGroup("form1","btg1",True)
    .Add("btn1", "拍照", "button").Attribute = """
End With
With wb.AddButtonGroup("form1","btg2",True)
    .Add("btn1", "提交")
End With
wb.AppendHTML("<script type='text/javascript' src='../mui/js/camera.js'></script>")
e.WriteString(wb.Build)
e.Handled= True


var count = 1;
function getImageByCamera(id) {
plus.camera.getCamera().captureImage(function(p) {
var imgs = document.getElementById(id);
plus.io.resolveLocalFileSystemURL(p, function(entry) {
entry.file(function(file) {

var url = entry.toLocalURL();
var name = "_doc/upload/" + entry.name;
plus.zip.compressImage({
src: url, //src: (String 类型 )压缩转换原始图片的路径    
dst: name, //压缩转换目标图片的路径    
quality: 100, //quality: (Number 类型 )压缩图片的质量.取值范围为1-100    
overwrite: true //overwrite: (Boolean 类型 )覆盖生成新文件    
},
function(zip) {
//页面显示图片  
showPics(zip.target, name, id);
},
function(error) {
plus.nativeUI.toast("压缩图片失败,请稍候再试");
});

});
});
});
}
function showPics(p, name, id) {
var imgs = document.getElementById(id);
plus.io.resolveLocalFileSystemURL(p, function(entry) {
entry.file(function(file) {
var fileReader = new plus.io.FileReader();
fileReader.readAsDataURL(file);
fileReader.onloadend = function(e) {
var picUrl = e.target.result.toString();
imgs.innerHTML += "<img src='" + picUrl + "' width='140px' height='180px'/><input type='hidden' name='" + id + "_" + count + "' value='" + picUrl + "'/>"
count++;
}
});
});
}

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106679 积分:542584 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/24 20:14:00 [只看该作者]

imgs.innerHTML += "<img src='" +

改为

imgs.innerHTML = "<img src='" +

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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2020/3/24 20:49:00 [只看该作者]

老师,请问如何实现点拍照弹出选择相机或相册呢

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106679 积分:542584 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/24 20:54:00 [只看该作者]

这个请去看hbuilder的接口说明吧

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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2020/3/25 23:07:00 [只看该作者]


老师为了能调相机和相册,我整了两天差不多可以了

1\这个页面有mui.init()初始,但点手机返回键要退出,只有点顶部返回可以,其他页面有这个可以,另外这个在本机网页中查看不到源代码,其他可以,懂不起什么原因,请帮指导下
Dim e As RequestEventArgs = args(0)
Dim sb As New StringBuilder
sb.AppendLine("<meta charset='utf-8'>")
sb.AppendLine("<meta name='viewport' c />")
sb.AppendLine("<script src='../mui/js/mui.min.js'></script>")
sb.AppendLine("<link href='../mui/css/mui.css' rel='stylesheet'/>")
sb.AppendLine("<script Type='text/javascript' charset='utf-8'>mui.init();</script>")
sb.AppendLine("<header style='height:60px;background:#EEEEE0' class='mui-bar mui-bar-nav mui-bar-nav-bg'>")
sb.AppendLine("<a style ='line-height:40px;'  id='icon-menu' class='mui-action-back mui-icon mui-icon-left-nav mui-pull-left'></a>")
sb.AppendLine("<script type='text/javascript' src='../mui/js/camera.js'></script>")
sb.AppendLine("<script type='text/javascript' src='../mui/js/common.js'></script>")
sb.AppendLine("<form method='post' enctype='multipart/form-data' id='form1' name ='form1' action ='submit.htm'>")
If FileSys.FileExists("c:\web\xp\" & e.Cookies("username") & ".jpg")=True
    sb.AppendLine("<a class='mui-icon mui-pull-right mui-a-color'><div style='width: 40px; height: 40px; float:left; border-radius: 50%; border: 1px solid #eee; overflow: hidden;'><img  src='./xp/" & e.Cookies("username") & ".jpg' width='40' height='40' /></div></a>")
Else
    If ReadSex(e.Cookies("username"))= "女"
        sb.AppendLine("<a class='mui-icon mui-pull-right mui-a-color'><div style='width: 40px; height: 40px; float:left; border-radius: 50%; border: 1px solid #eee; overflow: hidden;'><img  src='./xp/tx2.jpg' width='40' height='40' /></div></a>")
    End If
    If ReadSex(e.Cookies("username"))= "男"
        sb.AppendLine("<a class='mui-icon mui-pull-right mui-a-color'><div style='width: 40px; height: 40px; float:left; border-radius: 50%; border: 1px solid #eee; overflow: hidden;'><img  src='./xp/tx1.jpg' width='40' height='40' /></div></a>")
    End If
End If
sb.AppendLine("<h1 style ='line-height:60px;' class='mui-title'>我的相片</h1>")
sb.AppendLine("</header>")
sb.AppendLine("<div class='mui-content'>")
If ReadSex(e.Cookies("username"))= "女"
    sb.AppendLine("<div style='height: 180px;border:1px solid red; width:50%'><img src='./xp/yb.jpg' style='height:180px;width:140px;max-height:100%;'></div>")
End If
If ReadSex(e.Cookies("username"))= "男"
    sb.AppendLine("<div style='display:table-cell;text-align:center;vertical=align:middle;height: 180px; width:50%;margin-top:80px;float:left'><img src='./xp/yb1.jpg' style='height:180px;width:140px;max-height:100%;'></img></div>")
End If
If FileSys.FileExists("c:\web\xp\" & e.Cookies("username") & ".jpg")=True
    sb.AppendLine("<div  id ='imgs' style='display:table-cell;text-align:center;vertical=align:middle;height: 180px; width:50%;margin-top:80px;float:left'><img style='width:140px;height:180px;' src='./xp/" & e.Cookies("username") & ".jpg'></div>")
Else
    sb.AppendLine("<div  id ='imgs' style='display:table-cell;text-align:center;vertical=align:middle;height: 180px; width:50%;margin-top:80px;float:right'><img style='width:140px;height:180px;' src='./xp/wxp.jpg'></div>")
End If
sb.AppendLine("<button id='btn1' name='btn1' type= 'button' onclick=getImageByCamera('imgs') style='position: fixed;left:60px; bottom:10px;z-index:5;height:35px;width:33%;border-radius:20px;line-height:35px;color:white;background-color:dodgerblue'>相机</button>")
sb.AppendLine("<button id='btn2' name='btn2' type ='button' onclick=galleryImg('imgs') style='position: fixed;right:60px; bottom:10px;z-index:5;height:35px;width:33%;border-radius:20px;line-height:35px;color:white;background-color:dodgerblue'>相册</button>")
sb.AppendLine("<button id='btn3' name='btn3'  type ='sumbit' style='position: fixed;right:60px; bottom:50px;z-index:5;height:35px;width:33%;border-radius:20px;line-height:35px;color:white;background-color:dodgerblue'>确定</button>")
e.WriteString(sb.Tostring)
e.Handled= True

2、这个保存图片函数怎样改才行,不得行,谢谢

Dim e As RequestEventArgs = args(0)
For Each key As String In e.Files.Keys
    For Each fln As String In e.Files(key)
        If FLN>""
            Dim ifo As new FileInfo(fln)
            If key ="imgs"
                e.SaveFile(key,fln,"c:\web\xp\" & e.Cookies("username") & Ifo.Extension ) '保存接收到的文件
            End If
        End If
    Next
Next
e.WriteString("OK")
e.Handled=True

[此贴子已经被作者于2020/3/25 23:07:08编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106679 积分:542584 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/26 8:54:00 [只看该作者]

如果要学自定义html开发,不要急,先花一周时间学学html基础吧。至少要搞懂一个完整的html网页应该包括什么标签,<html>,<head>,<body>等等标签都是干嘛用的,这些标签里面应该放什么。知其然更要知其所以然。想想自己开发网页多长时间了?基础的东西还是一知半解,从而导致了多少问题,做一个网页出来可能只需要半天,但是花了多少时间去解决这半天背后的问题?磨刀不误砍柴工,如果觉得学习时间会占用工作时间,那么永远都会在修修补补中迷茫着。 修修补补的代价绝对比学习所费的代价更高。

看前面的代码,这种上传的图片都只是放到img标签中,而且是base64数据,这种是无法直接通过按钮submit提交的。建议再看看hbuilder的接口,别人是如何上传图片数据的,应该是要通过ajax处理的

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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2020/3/28 20:11:00 [只看该作者]

Dim e As RequestEventArgs = args(0)
Dim wb As new weui
wb.AppendHTML("<script type='text/javascript' src='../mui/js/common.js'></script>", True)
wb.AddForm("","form1","submit.htm")
wb.InsertHTML("form1", "<div id='imgs'></div>")
With wb.AddButtonGroup("form1","btg1",True)
    .Add("btn1", "拍照", "button").Attribute = """
End With
With wb.AddButtonGroup("form1","btg2",True)
    .Add("btn1", "提交")
End With
wb.AppendHTML("<script type='text/javascript' src='../mui/js/camera.js'></script>")
e.WriteString(wb.Build)
e.Handled= True





sumbit 函数
Dim e As RequestEventArgs = args(0)
Dim wb As new weui
For Each key As String In e.PostValues.Keys
    messagebox.show(e.PostValues(key))
    If key.Contains("imgs_") Then
        Dim bs As Byte() = Convert.FromBase64String(e.PostValues(key).split(",")(1))
        Dim stream As System.IO.Stream = New System.IO.MemoryStream(bs)
        Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream)
        messagebox.show("c:/web/xp/" & e.Cookies("username") & ".jpg")
        bmp.Save("c:/web/xp/" & e.Cookies("username") & ".jpg", System.Drawing.Imaging.ImageFormat.Png)
    End If
Next
With wb.AddMsgPage("","msgpage","提交成功", "好好学习,天天向上") '生成成功提示页
    .AddButton("btn1","继续测试","camera.htm")
End With
e.WriteString(wb.Build)
e.Handled=True

老师我是用例子改的,现在的结果是提交白屏就完了,请老师指导下,确实搞不懂

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106679 积分:542584 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/29 20:11:00 [只看该作者]

最关键的是前端js是怎么提交文件的? 

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