】。"/> 】。">

首頁  >  文章  >  web前端  >  uniapp如何上傳文件

uniapp如何上傳文件

coldplay.xixi
coldplay.xixi原創
2020-12-09 15:53:599598瀏覽

uniapp上傳檔案的方法:嵌入H5頁面,採用【web-view】標籤,程式碼為【02d77e3012b6c73e5d9c20885682be34c213688c7b9fabe3c1302760f0693043】。

uniapp如何上傳文件

本教學操作環境:windows7系統、uni-app2.5.1版本,Dell G3電腦。

推薦(免費):uni-app開發教學課程

uniapp上傳檔案的方法:

嵌入H5頁面,需要採用web-view標籤,如下:

<web-view src="/hybrid/html/index.html" @message="handleMessage"></web-view>

注意:

  • ##h5頁面必須在專案目錄:

    /hybrid/html/下面,因為這樣uni-app才不會進行編譯

  • ##@ message

    事件是h5頁面向應用程式發送資料的回呼

  • 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>

相關免費學習推薦:
程式影片

以上是uniapp如何上傳文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:什麼是uniapp?下一篇:什麼是uniapp?