开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 890|回复: 0
收起左侧

[技术分享] uniapp上传文件的方法

[复制链接]
结帖率:100% (4/4)
发表于 2021-10-15 16:45:39 | 显示全部楼层 |阅读模式   河北省石家庄市
uniapp上传文件的方法:

嵌入H5页面,需要采用web-view标签,如下:

[JavaScript] 纯文本查看 复制代码
<web-view src="/hybrid/html/index.html" @message="handleMessage"></web-view>


注意:
h5页面必须在项目目录:/hybrid/html/下面,因为这样uni-app才不会进行编译
@message事件是h5页面向应用发送数据的回调
h5页面代码:


[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html>
        <head></head>
        <body>

                <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>
                <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='file']", 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("");                  }              });              $('.btn').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: 'http://47.97.163.146:8080/Controler.ashx',                      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 === 'BUTTON') {                      var action = target.getAttribute('data-action');                      if (action == 'redirectTo') {                          uni.redirectTo({                              /* url: '/pages/component/index', */                              url: '/pages/index/index',                              success:function (d) {                                  console.log("跳转成功");                              },                              fail:function(e){                                  console.log(e);                              },                          });                      }                  }              });                             //取消文件上传              $('.btn1').click(function(evt) {                  var target = evt.target;                  if (target.tagName === 'BUTTON') {                      var action = target.getAttribute('data-action');                      if (action == 'navigateBack') {                          uni.navigateBack({                              delta: 1                          });                      }                  }              });                                        
                </script>
        </body>
</html>

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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