找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1382|回复: 0

HTML5 Plus 拍照或者相册选择图片上传

[复制链接]

69

主题

0

回帖

431

积分

管理员

积分
431
发表于 2023-11-15 14:07:20 | 显示全部楼层 |阅读模式
  1.     <!DOCTYPE HTML>
  2.     <html>
  3.         <head>
  4.             <title>情报制作</title>
  5.             <meta charset="utf-8" />
  6.             <meta name="viewport" content="width=device-width, initial-scale=1" />
  7.             <link rel="stylesheet" href="../css/mui.min.css">
  8.             <link rel="stylesheet" href="../css/font-awesome-4.7.0/css/font-awesome.css" />
  9.             <script src="../js/jquery-1.9.1.min.js" type="text/javascript" charset="utf-8"></script>
  10.         </head>
  11.         <body style="background-color: #f3f6f9;">
  12.             <div style="height:500px;width:500px;overflow: hidden;">
  13.                 <img src="" alt="" id="albumCoverImg" style="width:100%;"/>
  14.             </div>
  15.             <button type="button" onclick="appendByGallery()">相册</button>
  16.             <button type="button" onclick="appendByCamera()">拍摄</button>
  17.             <script src="../js/mui.js"></script>
  18.             <script type="text/javascript">
  19.                  //扩展API完成后执行的操作
  20.                 function plusReady(){               
  21.                     //page.imgUp();
  22.                 }
  23.                 //弹出系统按钮选择框
  24.                 /*var page=null;
  25.                 page={
  26.                     imgUp:function(){
  27.                         var m=this;
  28.                         plus.nativeUI.actionSheet({cancel:"取消",buttons:[
  29.                             {title:"拍照"},
  30.                             {title:"从相册中选择"}
  31.                         ]}, function(e){//1 是拍照  2 从相册中选择
  32.                             switch(e.index){
  33.                                 case 1:appendByCamera();break;
  34.                                 case 2:appendByGallery();break;
  35.                             }
  36.                         });
  37.                     }
  38.                 } */
  39.                 // 拍照添加文件
  40.                 function appendByCamera(){
  41.                     plus.camera.getCamera().captureImage(function(e){
  42.                         console.log("e is" +  e);
  43.                         plus.io.resolveLocalFileSystemURL(e, function(entry) {
  44.                             var path = entry.toLocalURL();
  45.                             $("#albumCoverImg").src = path;      
  46.                             $("#albumCoverImg").attr("src",path) ;
  47.                             upload(path);
  48.                         }, function(e) {
  49.                             mui.toast("读取拍照文件错误:" + e.message);
  50.                         });
  51.                     });   
  52.                 }
  53.                 // 从相册添加文件
  54.                 function appendByGallery(){
  55.                    plus.gallery.pick(function(path){
  56.                         console.log(path);
  57.                          $("#albumCoverImg").attr("src",path) ;  
  58.                          upload(path);
  59.                     });
  60.                }
  61.                 //服务端接口路径
  62.                 var server ='http://192.168.100.149:8085/packagePK/package/uploadImg';
  63.                 // 上传文件
  64.                 function upload(path){
  65.                     console.log(server)
  66.                     var wt=plus.nativeUI.showWaiting();
  67.                     var task=plus.uploader.createUpload(server,
  68.                         {method:"POST"},
  69.                         function(t,status){ //上传完成
  70.                             if(status==200){
  71.                                 var data=JSON.parse(t.responseText);
  72.                                 console.log(data.data);
  73.                                 alert("上传成功:"+t.responseText);
  74.                                 wt.close(); //关闭等待提示按钮
  75.                             }else{
  76.                                 alert("上传失败:"+status);
  77.                                 wt.close();//关闭等待提示按钮
  78.                             }
  79.                         }  
  80.                     );  
  81.                     //添加其他参数
  82.                     task.addData("name","test");
  83.                     task.addFile(path,{key:"file"});
  84.                     task.start();
  85.                 }
  86.               //扩展API是否准备好,如果没有准备好则监听plusReady
  87.                 if(window.plus){
  88.                     plusReady();
  89.                 }else{
  90.                     document.addEventListener("plusready",plusReady,false);
  91.                 }
  92.             </script>
  93.         </body>
  94.     </html>
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|全栈营地

GMT+8, 2025-5-3 19:20 , Processed in 0.267341 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表