1. 程式人生 > >h5圖片上傳

h5圖片上傳

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>HTML5頁面如何在手機端瀏覽器呼叫相機、相簿功能</title>  
</head>  
<body>  
  
<div>  
    <!-- <input type="file" accept="image/*" capture="camera">  
    <input type="file" accept="video/*" capture="camcorder">  
    <input type="file" accept="audio/*" capture="microphone">  --> 
    <div class="imgs clear">
        <div class="img fl hide"></div>
        <div class="add fl">111</div>
        <input type="file" class="hide" id="upimg3" accept="image/*">
    </div>
</div>  
<script src="./jquery-1.8.0.min.js"></script>
  <script>
  //圖片預覽
    $('.add' ).on('click',function(){
        var this_ = $(this );
        var ua = navigator.userAgent.toLowerCase();
        var isiOS = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);  // ios終端
        if(!isiOS){
            this_.next("input").attr('capture','camera');
        }
        this_.next("input").fadeOut();
        // 這裡是為了能夠多次選定同一張圖片
        this_.after('<input type="file" class="hide" id="upimg4" accept="image/*">');
        var imglen = this_.parent(".imgs").children('.img').children("img").length;
        this_.next("input").click().off("change").on('change',function(){
            var size = (this_.next("input")[0].files[0].size / 1024).toFixed(2);
            if(size <= 5120){
                var img = this_.next("input")[0].files[0];
                var formData = new FormData();
                formData.append("picture",img);
                uploadPic(formData,this_,imglen);
            } else {
                swal({
                    title: ' ',
                    text: '您的圖片超過5M',
                    type: 'warning',
                    showConfirmButton:false,
                    timer:1500
                });
            }
        });
    });


    function imgresize(){
        setTimeout(function(){
            var img = $('.img>img' );
            img.each(function(){
                $(this).height('20.8vw');
                $(this).width('20.8vw');
            });
        },100);
    }




    var uploadPic = function(formData,this_,imglen){
        $.ajax({
            type:"post",
            url:"{:Url('File/uploadPicture')}",
            data:formData,
            cache: false,
            processData : false,
            contentType : false,
            beforeSend: function(XMLHttpRequest){
                $('.swal2-confirm' ).css({'background-color':'#c1c1c1','border-left-color':'#c1c1c1','border-right-color':'#c1c1c1'})
            },
            success:function(data){
                alert(data+":75")
                if(imglen >= 3){
                    this_.hide();
                }
                swal.close();
                var msg = $.parseJSON(data);
                if(msg.code == 1){
                    if(this_.hasClass('add')){
                        //圖片新增
                        this_.parent('.imgs').children(".img").eq(imglen).removeClass('hide' )
                                .append('<img src='+msg.data.path+' alt="圖片" data-tab='+msg.data.id+'><span><img src="/home/images/common/default.png" alt=""></span>');


                        // 刪除圖片
                        $(".img span").on("click", function () {
                            $(this).parent(".img").remove();
                            this_.fadeIn();
                            this_.before('<div class="img fl hide"></div>');
                        });


                        // 圖片點選修改
                        /*$(".img>img").on("click", function () {
                         $(this).parent(".img").remove();
                         this_.fadeIn().click();
                         this_.before('<div class="img fl hide"></div>');
                         });*/
                    }else{
                        //圖片修改
                        this_.find('img').remove();
                        this_.append('<img src='+msg.data.path+' alt="圖片" data-tab='+msg.data.id+'>');
                    }
                    imgresize();


                } else {
                    return '';
                }
            },
            error:function(data){
                alert(JSON.stringify(data)+":112");
            }
        });
    }
  </script>
</body>  
</html>

相關推薦

h5圖片簡易版(FileReader+FormData+ajax)

eof block content relative $.ajax setattr img right ces 一、選擇圖片(input的file類型) <input type="file" id="inputImg"> 1. input的file類型會渲染

H5 圖片

urn ech src param 上傳 for all rem 可能 1.h5 圖片異步上傳 (1) 異步上傳input觸發onchange事件的時候,就把圖片上傳至服務器。後臺可能會返回圖片的鏈接等信息,前臺可以把圖片信息展示給用戶看。 (2) 另一種情況可能需要前

Android WebView 支援H5圖片

webview 在android的元件webview中是不能用H5上傳檔案了的。但是有時候我們需要用H5去呼叫上傳檔案,因此需要支援這項功能。 程式碼示例 有不同的額版本適配方法 3.0 4.0 5.0 6.0 public class Pla

H5圖片外掛

基於zepto,支援多檔案上傳,進度和圖片預覽,用於手機端。 (function ($) { $.extend($, { fileUpload: function (options) { var para = { mult

Vue2.0圖片圖片壓縮自定義H5圖片元件

最近公司要求圖片上傳需要壓縮,以前直接使用元件不能滿足使用了,於是決定自定義個圖片上傳元件。可以實現動態傳入url,設定壓縮率,接收回傳引數。 壓縮也質量還不錯。先上效果圖效果如下壓縮質量還不錯,4.37M到550k 壓縮率更是達到了87% ,這省了不少流量和伺服器硬碟啊,哈

h5圖片

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title>HTML5頁面如何在手機端瀏覽器呼叫相機、相簿功能&

h5 canvas 圖片操作

ini eal object oninput firefox agent tco false str 最近寫的小 demo,使用的是h5的 canvas來對圖片進行放大,移動,剪裁等等這是最原始的代碼,比較接近我的思路,後續會再對格式和結構進行優化 html: 1

前端H5實現多圖片並預覽

多檔案上傳並預覽 利用input 的type='file" 可以實現檔案的上傳,不過只支援單個檔案上傳。只有給input加上multiple屬性才能實現多個檔案同時上傳。 好了,下面我們來實現一個簡單的多圖片上傳並預覽的例子 <div class="input-file-box

h5圖片

做了一個h5多圖片上傳 只要瞭解了 基本原理,那就很好理解了,可以看看註釋或者在網上找找原理 <!doctype html> <html> <head> <meta charset="UTF-8"> <title><

H5實現拍照及相簿圖片

最近在做一個H5的小型電商專案,其中有一個是現金刷卡之後需要上傳憑證圖片的,因此也就需要在H5中實現可以上傳圖片。 我們都知道,input標籤的type為file是可以上傳圖片的,本來想著這麼簡單,有啥難的,可是到後來這樣寫完,看效果的時候,缺發現這個東西它是有相容問題的,IOS和An

H5呼叫Android圖片功能

public class OpenFileWebChromeClient extends WebChromeClient { public static final int REQUEST_FILE_PICKER = 1; public ValueCallback<Uri> mF

MUI+H5手機照片 支援多圖片和拍照

html程式碼:<header class="mui-bar mui-bar-nav"><a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a><

Android WebView-H5互動檔案(包括圖片)

WebView 在4.4前後的區別非常大, 比如對URL跳轉的格式, 對JS的注入宣告等等, 4.4以後的WebView 已經是chromium核心, 有多強大就無需我贅述. 說這些, 其實也是為了說明也因為WebView的前後變化太大了, 所以在低版本和版本上, Web

H5拍照、選擇圖片組件核心

overflow def 是我 sna 返回值 rom 簡單的 The file 背景 前段時間項目重構,改成SSR的項目,但之前用的圖片選擇上傳組件不支持SSR(server-side-render)。遂進行了調研,發現很多的工具。但有的太大,有的使用麻煩,有的不滿足使用

移動端h5頭像、頭像裁切、圖片

初步想的步驟是這樣的: 一、點選頭像區域選擇本地圖片 二、顯示被選本地圖片顯示裁剪選取框 三、確認選取後,上傳到阿里雲返回路徑 四、初始點選區域顯示裁剪完成的圖片 程式碼片段 <div align="center" class="face"> &l

H5學習之路-圖片(cropper、webuploader)

好久沒有寫部落格了,感覺都不習慣了。一方面是因為工作佔用的時間過多,另一方面是自己有點懶,沒有堅持。好了,少扯這些沒用的東西,直入主題唄。 筆者目前在公司會接觸到H5的開發,也就是手機端app的開發,但是用的H5,而非原生的方式,主要是節省開發時間,不必針對a

基於H5圖片解析

程式碼實現和解析 一、關於<input type="file" name="" id="file"/> 其files屬性記錄了你放入其中的檔案,所以你可以此處可以通過 img=document.getElementById("file").

移動端(h5,壓縮,預覽圖片

專案裡邊這次用到了移動端上傳圖片,拿出來分享下。 1.首先是思路,在input 發生change的時候判斷瀏覽器時候支援圖片預覽,支援的情況下校驗圖片的格式,圖片的大小,之後將拿到的圖片進行canvas壓縮,圖片轉base64,然後上傳。 2.程式碼

移動端H5實現圖片

需求 公司現在在移動端使用webuploader實現圖片上傳,但最近需求太奇葩了,外掛無法滿足我們的PM 經過商討決定下掉這個外掛,使用H5原生的API實現圖片上傳。 7.3日釋出:單張圖片上傳 9.29日更新:多張圖片併發上傳 效果圖: 基礎知識 上傳圖片這塊有幾個知識點要先了解的。首先是有幾種常見的

幾乎考慮到了每個細節的php圖片

time itl wid cas fault ima ini文件 put val <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php /**