`
主业炸鸡排
  • 浏览: 17508 次
文章分类
社区版块
存档分类
最新评论

[分享]WeX5中input拍照上传图片方法分享,可单图与多图

阅读更多

 

演示用,比较简陋,勿怪,方法简单!

input被点击之后默认出现拍照,文档等选项,可以拍照上传,也可以选图库文件上传,也可以录像进行视频上传,自己对应修改文件类型判断就可以了

这些功能无需调用cordova插件

 

如果需要使用插件拍照上传,使用java作为后端的,可以参考 http://bbs.wex5.com/forum.php?mod=viewthread&tid=91095

该方法是把图片base64编码成二进制流,可以存进数据库,调用的时候解码显示 

使用php等其他非java作为后端的,同样可以把图片base64编码化,直接像存字符串那样存进数据库

 

1.构建如图

 

 

 

对应源码

 

  

 <div class="x-panel-content" xid="content1">

   <form xid="postForm"  accept="image/jpeg,image/png" enctype="multipart/form-data" target="postResultIframe" class="form-horizontal 

container-fluid" method="post" action="http://127.0.0.1">

        <input type="file" name="photo" xid="uploadfile" bind-change="uploadfileChange"/>

   <button xid="button1" bind-click="button1Click" type="submit">提交</button></form>

 

 

 

那里面那个action=127.0.0.1那个,改成自己的请求地址

 

如果需要多文件上传,input需要类似这样构建

    <input type='file'  name='photo1'>

    <input type='file'  name='photo2'>

    <input type='file'  name='photo3'>

 

 

或者

   <input type='file'  name='photo[]'>

    <input type='file'  name='photo[]'>

   <input type='file'  name='photo[]'>

 

 

2.input绑定bind-change="uploadfileChange"

   作用是监控input,看注释很清楚了

 

       

 Model.prototype.uploadfileChange = function(event) {

                if (!event.target.files) { // 如果客户没有选择相关文件,直接返回

                       return;

               }

                var uploadimage = $(this.getElementByXid('uploadfile')); // 用jQuery拿到input标签



                 var file = event.target.files[0]; // 拿到用户选择的文件

                

                 if (/^image\/\w+$/.test(file.type)) { // 如果是图片文件

                 this.isimg = true;

                 } else { // 如果用户选的的不是图片文件

                 justep.Util.hint('请选择图片文件!');

                 $uploadimage.val('');

                 }

        };

 

3.上主菜

我的后端使用php做的,使用其他后端的,自行找一个对应的上传类对接就可以了

 

       

 Model.prototype.button1Click = function(event) {



                        var form = this.getElementByXid("postForm"); // 拿到form表单的js对象

                        var acturl = "http://127.0.0.1/index.php/home/index/uploadcar";

                        form.attributes["action"].value = require.toUrl(acturl);

                        // 提交表单

                        $(form).submit(function() {

                                $(this).ajaxSubmit(function(resultJson) {

                                        alert(resultJson);

                                });
                               return false; // 阻止表单默认提交

                       });



      };

 

 

4.  require("./baasd/jquery.form");   路径改成自己的

http://pan.baidu.com/s/1eSgDluE

 

5.加上后端吧,thinkphp 3.2的

    public function uploadcar() {

        
        $upload = new \Think\Upload(); //  实例化上传类

        $upload->maxSize = 1024 * 1000 * 10; //  设置附件上传大小

        $upload->exts = array('jpg', 'gif', 'png', 'jpeg'); //  设置附件上传类型

        $upload->rootPath = './upload/img_zj/'; //证件目录

        $upload->savePath = ''; //  设置附件上传目录

        $upload->autoSub = true;

       $upload->subName = array('date', 'Y/m/d');

        $upload->saveRule = date("YmdHis", time()) . "_" . mt_rand(1000, 9999); //上传名已时间戳保存

        //  上传文件

       $info = $upload->upload();

        if (!$info) {

            //上传失败

            

            //  上传错误提示错误信息

            $this->error($upload->getError());

        } else {

           //上传成功

            $imgpath = '/upload/img_zj/' . $info['photo']['savepath'] . $info['photo']['savename'];

            echo $imgpath;

       }

    }

 

我这里直接返回的就是图片地址,你可以把3里面直接改造,类似我这样写法

var xszimg = this.getElementByXid("xszimg");

$(form).submit(function() {

                                $(this).ajaxSubmit(function(resultJson) {

                                        $(xszimg).attr("src", transURL(resultJson));

                                        $(xszimg).show();

                                });

                                return false; // 阻止表单默认提交

                       });

 

 

这样直接就把图片显示出来了

 

分享到:
评论

相关推荐

    input file上传图片预览

    在前端开发中,"input file上传图片预览"是一个常见的需求,它允许用户选择本地的图像文件,并在上传前提供预览。这个功能在许多网站和应用中都很实用,例如社交媒体平台、在线编辑器或者个人资料设置等。下面将详细...

    springboot 单个input实现多图片上传

    在Spring Boot应用中,开发一个功能来通过单个`&lt;input&gt;`标签实现多图片上传是一项常见的任务。这个功能可以用于各种场景,如博客系统、电商网站的商品图片上传等。下面我们将详细探讨如何实现这一功能。 首先,我们...

    input type=file 调取手机照相机和选择照片上传

    在移动设备上,HTML5 的 `input type="file"` 是一个关键元素,它允许用户从他们的设备中选择文件,包括照片,以便上传到网站或应用。这个特性在现代Web开发中非常常见,尤其是在构建响应式网页和混合应用程序时。...

    js input上传文件可input上传图片

    六、异步上传与多文件上传 对于大文件或多个文件的上传,可以采用分块上传或并发上传。利用Blob对象的slice方法切割文件,然后逐个上传。 总结,使用JavaScript的`&lt;input type="file"&gt;`结合FileReader、FormData和...

    input file图片上传即时预览

    在IT行业中,图片上传是网页应用中常见的功能之一,特别是在社交平台、电商平台或者内容管理系统等。即时预览功能则是为了提升用户体验,让用户在上传图片前就能看到即将上传的图片效果,避免因上传错误而导致的不便...

    图片上传.rar(C#如何使用input[type=file]进行多个图片上传)

    C#如何使用input[type=file]进行多个图片上传(XMLHttpRequest与后台交互) 详情可看:https://blog.csdn.net/weixin_44713389/article/details/90746459

    tinymce 自定义多图片批量上传插件 附使用示范Test

    4. **实现批量上传功能**:在按钮的`onclick`回调中,我们需要实现多图片选择和上传的功能。这通常涉及到HTML5的`input[type="file"]`元素,监听`change`事件来捕获用户选择的文件。例如: ```javascript function...

    HTML5+jQuery+Canvas调用手机拍照功能上传图片

    这些技术的结合使得开发者能够在浏览器中实现更丰富的交互功能,比如本例中的拍照上传图片。 总结来说,HTML5+jQuery+Canvas的组合使得在网页上调用手机拍照功能并上传图片成为可能,同时还能进行图片的本地处理和...

    kindeditor单图上传功能结合input实现多图上传顺序自由可自由切换

    kindeditor单图上传功能结合input实现多图上传顺序自由可自由切换 1.可融合网页后端ASP,PHP,ASP.net等网页编程语言 2.上传插件调用kindeditor单图上传功能 3.上传一张一张上传,显示多图列表,图片之间利用箭头可...

    多图上传方法(多种方法)

    在现代Web应用中,多图上传功能已经成为必不可少的一部分,它允许用户一次性上传多个图片,极大地提高了用户体验。本文将详细介绍三种常见的多图上传方法:AJAX、FLASH和H5(HTML5),并提供每种方法的一个或多个...

    多图片上传和取消上传(基于框架)

    在开发Web应用时,多图片上传功能是一项常见的需求,尤其在社交、电商或者内容分享类网站中。这个功能允许用户一次选择并上传多个图片,提高了用户体验。本篇将重点讲解如何实现基于HTML5的多图片上传及取消上传的...

    Web(前端) input标签 上传图片支持预览,计算图片大小 源码

    注意,实际应用中可能还需要处理更多细节,如错误处理、图片尺寸缩放、异步上传等。这些功能的实现可以结合其他库或框架,例如jQuery、React、Vue等,以提高代码复用性和可维护性。在实际项目中,一定要根据具体需求...

    ASP图片上传组件 图片批量上传控件 图片上传插件

    ASP图片上传组件是一种在Web应用中用于处理用户端图片上传功能的工具,它极大地简化了开发者在ASP(Active Server Pages)环境下实现图片上传的过程。图片批量上传控件和插件则进一步增强了这种功能,允许用户一次性...

    图片上传(php实现单图、多图都有)

    图片上传是Web应用中常见的功能,特别是在社交媒体、博客平台、电商平台等网站中,用户往往需要上传个人头像、产品图片或者分享的图片。本项目基于PHP实现了一个完整的图片上传解决方案,支持单图上传和多图上传,...

    点击图片触发input是file的事件

    在 Web 开发中,经常会遇到上传图片的需求,而在上传图片时,通常需要实现在浏览器中预览图片。为了实现这个需求,我们可以使用 `window.createObjectURL` 方法来生成一个 URL,该 URL 指向上传的图片。 知识点1:...

    angularjs实现上传图片并且预览

    在本文中,我们将深入探讨如何使用AngularJS框架来实现图片上传和预览功能。AngularJS,作为一款强大的前端JavaScript框架,提供了丰富的功能和模块化设计,使得开发动态Web应用变得更加简单。图片上传和预览是现代...

    解决ios拍照上传图片被旋转

    在iOS设备上拍照并上传至服务器时,有时会出现图片被旋转的问题。这通常是由于iOS设备在拍摄照片时记录了照片的元数据(Exif信息),其中包括拍摄时的设备方向信息。当这些信息未被正确处理时,图片在其他平台显示时...

    基于html5、JS实现的拍照上传图片

    在现代Web应用中,利用HTML5和JavaScript技术可以实现丰富的用户交互功能,其中之一就是拍照上传图片。这个功能的实现原理主要涉及到HTML5的几个关键特性,包括`&lt;input type="file"&gt;`元素、Canvas API以及AJAX异步...

    多图上传图片

    在IT行业中,多图上传是网页开发中常见的一项功能,特别是在内容发布、电子商务和个人社交平台等领域。本篇文章将深入探讨如何实现一个高效的多图上传功能,以满足用户上传多个图片的需求。我们将关注HTML5、jQuery...

    html5+jquery+canvas 实现调用手机拍照上传图片

    在这个实例中,“html5+jquery+canvas 实现调用手机拍照上传图片”利用了HTML5的File API、jQuery库以及Canvas元素,实现了用户通过手机摄像头拍照并即时上传图片的功能。 1. **HTML5 File API**:File API提供了...

Global site tag (gtag.js) - Google Analytics