起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2461|回复: 1

[分享] WEX5 3.2.1拍照上传thinkphp版

  [复制链接]

50

主题

169

帖子

386

积分

中级会员

Rank: 3Rank: 3

积分
386
QQ
发表于 2015-12-30 17:17:23 | 显示全部楼层 |阅读模式
本帖最后由 洛沂雪夜 于 2015-12-30 17:22 编辑

前端还是从这个大神的帖子里拿的http://bbs.wex5.com/thread-68669-1-1.html这里的图片上传附件里
JS端
  1. define(function(require) {
  2.         var $ = require("jquery");
  3.         var justep = require("$UI/system/lib/justep");
  4.         var Baas = require("$UI/demo/baas/baas");
  5.         var Model = function() {
  6.                 this.callParent();
  7.         };

  8.         Model.prototype.uploadImage = function(imageURI) {
  9.                 var me = this;
  10.                 var options = new FileUploadOptions();
  11.                 options.fileKey = "fileAddPic";// 用于设置参数
  12.                 options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
  13.                 // 如果是图片格式,就用image/jpeg,其他文件格式上官网查API
  14.                 options.mimeType = "image/jpeg";
  15.                 // 这里的uri根据自己的需求设定,是一个接收上传图片的地址
  16.                 var uri = encodeURI("http://192.168.20.16/svnidc/APP/Ceshi/test");
  17.                 options.chunkedMode = false;
  18.                 var params = new Object();
  19.                 params.id = "1";
  20.                 params.name = "test";
  21.                 options.params = params;
  22.                 var ft = new FileTransfer();
  23.                 function success(asdfghjkl) {
  24.                         alert(JSON.stringify(asdfghjkl));
  25.                         navigator.notification.progressStop();
  26.                         me.button1Click(options.fileName);
  27.                 }
  28.                 function fail(message) {
  29.                         alert('4');
  30.                         alert("失败:" + JSON.stringify(message));
  31.                 }
  32.                 // 上传回调
  33.                 ft.onprogress = showUploadingProgress;
  34.                 navigator.notification.progressStart("", "当前上传进度");
  35.                 ft.upload(imageURI, uri, success, fail, options);
  36.         };
  37.         // 显示上传进度
  38.         function showUploadingProgress(progressEvt) {
  39.                 if (progressEvt.lengthComputable) {
  40.                         navigator.notification.progressValue(Math.round((progressEvt.loaded / progressEvt.total) * 100));
  41.                 }
  42.         }

  43.         Model.prototype.a1Click = function(event) {
  44.                 event.currentTarget.parentNode.remove();
  45.         };
  46.         Model.prototype.button3Click = function(event) {
  47.                 this.comp("popOver2").show();
  48.         };
  49.         Model.prototype.image1Click = function(event) {
  50.                 var me = this;
  51.                 window.closeP = function() {
  52.                         me.closeP();
  53.                 };
  54.                 var src = event.currentTarget.currentSrc;
  55.                 var img = $("<a href='javascript:closeP()' style='position: absolute;top:10px;'>关闭</a><img src='" + src + "'/>");
  56.                 $(".img_content").contents().remove();
  57.                 justep.Bind.addNodes(this.getElementByXid("div2"), img);
  58.                 this.comp("popOver1").show();
  59.                 // this.comp("windowDialog1").open({
  60.                 // src : "$UI/uploadImage/viewImage.w",
  61.                 // data : img
  62.                 // })
  63.         };
  64.         Model.prototype.closeP = function() {
  65.                 this.comp("popOver1").hide();
  66.         };
  67.         // 拍照
  68.         Model.prototype.button9Click = function(event) {
  69.                 this.picSource(50, 1);
  70.         };
  71.         // 从相册选择
  72.         Model.prototype.button10Click = function(event) {
  73.                 this.picSource(25, 2);
  74.         };
  75.         Model.prototype.picSource = function(quality, source) {
  76.                 var me = this;
  77.                 this.comp("popOver2").hide();
  78.                 function onSuccess(imageURI) {
  79.                         me.uploadImage(imageURI);
  80.                 }
  81.                 function onFail(message) {
  82.                         return message;
  83.                 }
  84.                 navigator.camera.getPicture(onSuccess, onFail, {
  85.                         quality : quality,
  86.                         sourceType : source
  87.                 });
  88.         };
  89.         Model.prototype.button1Click = function(fileName) {
  90.                 var src = "http://10.71.84.211:8080/baas/uploadImage?action=showImage&name=" + fileName;
  91.                 var imglist = $("<li> <a href="javascript:void(0)" data-bind="event:{click:$model._callModelFn.bind($model, 'a1Click\')}"  class='button_a icon-android-close'></a><img class='imgStyle' src='"
  92.                                 + src + "' data-bind="event:{click:$model._callModelFn.bind($model, 'image1Click\')}"></img></li>");
  93.                 justep.Bind.addNodes(this.getElementByXid("imglist"), imglist, this.getElementByXid("b_add"));
  94.         };
  95.         return Model;
  96. });
复制代码


PHP文件
  1. <?php
  2. class CeshiAction extends Action{
  3.         public function test(){
  4.                 import('@.ORG.Util.UploadFile');
  5.                 $upload                         = new UploadFile();                                                //实例化上传类
  6.                 $upload->maxSize          = 1024*1000*10;                                                        //设置附件上传大小
  7.                 $upload->allowExts  = array();        //设置附件上传后缀
  8.                 //$upload->allowTypes = array('image/jpeg');                                //设置上传文件类型
  9.                 $upload->savePath         = "./Public/Uploads/";                                        //上传目录
  10.                 $upload->saveRule         = $usersid."_".$orderid."_XJH_".date("YmdHis",time())."_".preciseTime('precise');        //上传名已时间戳保存
  11.                 if(!$upload->upload()) {                                                                        //上传错误提示错误信息
  12.                         $this->error($upload->getErrorMsg());
  13.                 }
  14.                 else{                                                                                                                // 上传成功 获取上传文件信息
  15.                         $info =  $upload->getUploadFileInfo();
  16.                         echo json_encode($info);
  17.                 }
  18.         }
  19. }
  20. ?>
复制代码

拍照上传.zip

25.02 KB, 下载次数: 199

36

主题

200

帖子

2124

积分

金牌会员

Rank: 6Rank: 6

积分
2124
QQ
发表于 2016-1-2 09:45:46 | 显示全部楼层
学习
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-19 14:09 , Processed in 0.064911 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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