Maison > interface Web > uni-app > le corps du texte

Comment télécharger des fichiers dans Uniapp

coldplay.xixi
Libérer: 2023-01-13 00:44:17
original
9583 Les gens l'ont consulté

Méthode de téléchargement du fichier Uniapp : intégrez la page H5, utilisez la balise [web-view], le code est [].

Comment télécharger des fichiers dans Uniapp

L'environnement d'exploitation de ce tutoriel : système Windows7, version uni-app2.5.1, ordinateur Dell G3.

Recommandé (gratuit) : Tutoriel de développement uni-app

Comment télécharger des fichiers dans uniapp :

Pour intégrer des pages H5, vous devez utiliser la balise web-view, comme suit :

<web-view src="/hybrid/html/index.html" @message="handleMessage"></web-view>
Copier après la connexion

Remarque :

  • pages h5 doit être dans le répertoire du projet : /hybrid/html/ Ci-dessous, car ce uni-app ne sera pas compilé

  • @message l'événement est le rappel de la page h5 pour envoyer des données à l'application

Code de la page h5 :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>上传文件</title>
        <style>
            *{
            margin: 0;
            padding: 0;
        }
        .head-btn{
            text-align: center;
            margin-top: 50px;
        }
        .file {
            position: relative;
            display: inline-block;
            background: #D0EEFF;
            border: 1px solid #99D3F5;
            border-radius: 10px;
            padding: 24px 50px;
            overflow: hidden;
            color: #1E88C7;
            text-decoration: none;
            text-indent: 0;
            line-height: 20px;
            font-size: 40px;
        }
        .file input {
            position: absolute;
            font-size: 200px;
            right: 0;
            top: 0;
            opacity: 0;
        }
        .file:hover {
            background: #AADFFD;
            border-color: #78C3F3;
            color: #004974;
            text-decoration: none;
        }
        .determine{
            color: #FFFFFF;
            background-color: #007AFF;
            display: inline-block;
            font-size: 20px;
            border-radius: 5px;
            padding: 8px 24px;
        }
        .showFileName{
            display: inline-block;
            height: 30px;
            min-width: 300px;
        }
        .btn {
            display: block;
            margin: 20px auto;
            padding: 5px;
            background-color: #007aff;
            border: 0;
            color: #ffffff;
            height: 40px;
            width: 200px;
            border-radius: 5px;
        }
        .btn1 {
            display: block;
            margin: 20px auto;
            padding: 5px;
            background-color: #007aff;
            border: 0;
            color: #ffffff;
            height: 40px;
            width: 200px;
            border-radius: 5px;
        }
        
        .btn-red {
            background-color: #dd524d;
        }
        
        .btn-yellow {
            background-color: #f0ad4e;
        }
        
        .desc {
            padding: 10px;
            color: #999999;
        }
    </style>
    </head>
    <body>
        <div>
            <form action="" method="post">
                <a href="javascript:;">选择文件
                    <input type="file" name="uploadFile" id="uploadFile" >
                </a>
            </form>
            <p></p>
        </div>
        <div>
            <button type="button" data-action="redirectTo">确定</button>
            <button type="button" data-action="navigateBack">取消上传</button>
        </div>
        
        <script src="./js/jQuery1_10_2.js"></script>
        <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
        <script>
            $(".file").on("change", "input[type=&#39;file&#39;]", function() {
                let filePath = $(this).val();
                // console.log(filePath);
                localStorage.setItem("fileAddress", filePath);
                let lastname = localStorage.getItem("fileAddress");
                if (lastname != "") {
                    $(".showFileName").html(lastname);
                } else {
                    $(".showFileName").html("");
                }
            });
            $(&#39;.btn&#39;).click(function(evt) {
                var formdata = new FormData(); // 创建一个form类型的数据
                formdata.append("files",$("#uploadFile")[0].files[0]); // 获取上传文件的数据
                formdata.append("operate","UpLoadFile"); // 获取上传文件的数据
                formdata.append("name","name"); // 获取上传文件的数据
                $.ajax({
                    url: &#39;http://47.97.163.146:8080/Controler.ashx&#39;,
                    type: "POST",
                    processData: false,
                    contentType: false,
                    data:formdata,
                    success: function(data) {
                        // debugger
                        console.log("这是请求成功的");
                    },
                    error: function(err) {
                        console.log("这是请求失败的");
                    }
                });
                var target = evt.target;
                if (target.tagName === &#39;BUTTON&#39;) {
                    var action = target.getAttribute(&#39;data-action&#39;);
                    if (action == &#39;redirectTo&#39;) {
                        uni.redirectTo({
                            /* url: &#39;/pages/component/index&#39;, */
                            url: &#39;/pages/index/index&#39;,
                            success:function (d) {
                                console.log("跳转成功");
                            },
                            fail:function(e){
                                console.log(e);
                            },
                        });
                    }
                }
            });
            
            //取消文件上传
            $(&#39;.btn1&#39;).click(function(evt) {
                var target = evt.target;
                if (target.tagName === &#39;BUTTON&#39;) {
                    var action = target.getAttribute(&#39;data-action&#39;);
                    if (action == &#39;navigateBack&#39;) {
                        uni.navigateBack({
                            delta: 1
                        });
                    }
                }
            });
            
            
        </script>
    </body>
</html>
Copier après la connexion

Recommandations d'apprentissage gratuites associées : Vidéo de programmation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal