汪山孃 發表於 2019-10-18 10:59:00

uni-app实现图片和视频上传功能

<p>使用uni-app实现点击上传,既可以上传视频,有可以上传图片,图片预览,删除图片和视频功能,最终效果如下。uni-app里面没有提供同时上传视频和图片这个插件,只能靠自己手写,</p>
<p><img src="https://img2018.cnblogs.com/blog/1188378/201910/1188378-20191018101403583-1612237459.gif"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>&nbsp;1.页面布局</strong></p>
<p>通过uni-app提供的标签,进行页面布局,这里就不多讲了,uni-app提供的有这个案例,可以直接把他们的样式拷贝过来修改一下就行。</p>
<div class="cnblogs_code">
<pre>&lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader-body</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                        &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__files</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                            &lt;!-- 图片 --&gt;
                           &lt;block v-<span style="color: rgba(0, 0, 255, 1)">for</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">(image,index) in imageList</span><span style="color: rgba(128, 0, 0, 1)">"</span> :key=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">index</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                              &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__file</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                                    &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">icon iconfont icon-cuo</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">delect(index)</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/view&gt;
                                    &lt;image <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__img</span><span style="color: rgba(128, 0, 0, 1)">"</span> :src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(128, 0, 0, 1)">"</span> :data-src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">previewImage</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/image&gt;
                              &lt;/view&gt;
                            &lt;/block&gt;
                            &lt;!-- 视频 --&gt;
                            &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__file</span><span style="color: rgba(128, 0, 0, 1)">"</span> v-<span style="color: rgba(0, 0, 255, 1)">if</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">src</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                              &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uploader_video</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                                    &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">icon iconfont icon-cuo</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">delectVideo</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/view&gt;
                                    &lt;video :src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">src</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">video</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/video&gt;
                              &lt;/view&gt;
                            &lt;/view&gt;
                            &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__input-box</span><span style="color: rgba(128, 0, 0, 1)">"</span> v-<span style="color: rgba(0, 0, 255, 1)">if</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">VideoOfImagesShow</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                              &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__input</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">chooseVideoImage</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/view&gt;
                            &lt;/view&gt;
                        &lt;/view&gt;
                  &lt;/view&gt;</pre>
</div>
<p>1.在data定义一些变量</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">data() {
            </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> {
                imageList:[],</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">图片</span>
                src:<span style="color: rgba(128, 0, 0, 1)">""</span>,<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">视频存放</span>
                sourceTypeIndex: <span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,</span><span style="color: rgba(0, 0, 0, 1)">
                sourceType: [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">拍摄</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">相册</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">拍摄或相册</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],<br>          VideoOfImagesShow:true,
                cameraList: [{
                        value: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">back</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                        name: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">后置摄像头</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                        </span><span style="color: rgba(0, 0, 255, 1)">checked</span>: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">true</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                  },
                  {
                        value: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">front</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                        name: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">前置摄像头</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                  },
                ],</span><span style="color: rgba(0, 0, 0, 1)">
            }
      },</span></pre>
</div>
<p>3.通过使用uni-app提供的api​显示操作菜单,在methods写这个方法,通过判断来,选择的是图片还是视频,根据选择的tabindex选择,然后调用对应的方法即可</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">chooseVideoImage(){
                uni.showActionSheet({
                  title:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">选择上传类型</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  itemList: [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">图片</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">视频</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        console.log(res)
                        </span><span style="color: rgba(0, 0, 255, 1)">if</span>(res.tapIndex == <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">){
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.chooseImages()
                        } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.chooseVideo()
                        }
                  }
                })
            },</span></pre>
</div>
<p>4.上传图片功能,也是通过uni-app提供的chooseImages来实现</p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">chooseImages(){
                                // 上传图片
                                uni.chooseImage({
                                        count: 4, //默认9
                                        // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
                                        sourceType: ['album','camera'], //从相册选择
                                        success:(res)=&gt; {
                                                let igmFile = res.tempFilePaths;
                                                uni.uploadFile({
                                                        url:this.config.fileUrl,
                                                        method:"POST",
                                                        header:{
                                                                'Authorization':'bearer '+ uni.getStorageSync('token'),
                                                                'Content-Type':'multipart/form-data'
                                                        },
                                                        filePath:igmFile,
                                                        name:'file',
                                                        success: (res) =&gt;{
                                                                // let imgUrls = JSON.parse(res.data); //微信和头条支持
                                                                let imgUrls = res.data //百度支持
                                                                this.imagesUrlPath = this.imagesUrlPath.concat(imgUrls.result.filePath);
                                                                this.imageList = this.imageList.concat(imgUrls.result.filePath); //微信
                                                                if(this.imageList.length&gt;=4) {
                                                                        this.VideoOfImagesShow = false;
                                                                } else {
                                                                        this.VideoOfImagesShow = true;
                                                                }
                                                        }
                                                })
                                                // this.imageList = this.imageList.concat(res.tempFilePaths)//头条
                                        },
                                });
                        },
</pre>
</div>
<p>  </p>
<p>5.图片预览功能,urls必须要接受的是一个数组</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">previewImage: function(e) {
                                //预览图片
                                var current = e.target.dataset.src
                                uni.previewImage({
                                        current: current,
                                        urls: this.imageList
                                })
                        },
</pre>
</div>
<p> 6.点击图片删除功能,点击对应的图片,根据index索引值进行删除</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">delect(index){
                uni.showModal({
                  title: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  content: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">是否要删除该图片</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.confirm) {
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.imageList.splice(index, <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">)
                        }
                  }
                })
            },</span></pre>
</div>
<p>7.实现视频上传功能</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">chooseVideo(){
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 上传视频</span>
<span style="color: rgba(0, 0, 0, 1)">                uni.chooseVideo({
                  maxDuration:</span><span style="color: rgba(128, 0, 128, 1)">60</span><span style="color: rgba(0, 0, 0, 1)">,
                  count: </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">,
                  camera: </span><span style="color: rgba(0, 0, 255, 1)">this</span>.cameraList[<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.cameraIndex].value,
                  sourceType: [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">album</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  success: (responent) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        let videoFile </span>=<span style="color: rgba(0, 0, 0, 1)"> responent.tempFilePath;
                        uni.uploadFile({
                            url:</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.config.fileUrl,
                            method:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">POST</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                            header:{
                              </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Authorization</span><span style="color: rgba(128, 0, 0, 1)">'</span>:<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">bearer </span><span style="color: rgba(128, 0, 0, 1)">'</span>+ uni.getStorageSync(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
                            },
                            filePath:videoFile,
                            name:</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">file</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                            success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {                  
                              </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> let videoUrls = JSON.parse(res.data) </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">微信和头条支持</span>
                              let videoUrls = res.data <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">百度支持</span>
                              <span style="color: rgba(0, 0, 255, 1)">this</span>.imagesUrlPath = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.imagesUrlPath.concat(videoUrls.result.filePath);
                              </span><span style="color: rgba(0, 0, 255, 1)">this</span>.src = videoUrls.result.filePath; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">微信</span>
                              <span style="color: rgba(0, 0, 255, 1)">if</span>(<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.src) {
                                    </span><span style="color: rgba(0, 0, 255, 1)">this</span>.itemList = [<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">图片</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
                              } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
                                    </span><span style="color: rgba(0, 0, 255, 1)">this</span>.itemList = [<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">图片</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">视频</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
                              }
                              
                            }
                        })
                        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> this.src = responent.tempFilePath;</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">头条</span>
<span style="color: rgba(0, 0, 0, 1)">                  }
                })
            },</span></pre>
</div>
<p>&nbsp;</p>
<p>8.点击视频删除功能</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">delectVideo(){
                uni.showModal({
                  title:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  content:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">是否要删除此视频</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  success:(res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)">{
                        </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">(res.confirm){
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.src = <span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">
                        }
                  }
                })
            },</span></pre>
</div>
<p>最终代码</p>
<div class="cnblogs_code">
<pre>&lt;template&gt;
    &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">burst-wrap</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
      &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">burst-wrap-bg</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
            &lt;view&gt;
                &lt;!-- 信息提交 --&gt;
                &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">burst-info</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                  &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader-body</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                        &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__files</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                            &lt;!-- 图片 --&gt;
                           &lt;block v-<span style="color: rgba(0, 0, 255, 1)">for</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">(image,index) in imageList</span><span style="color: rgba(128, 0, 0, 1)">"</span> :key=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">index</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                              &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__file</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                                    &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">icon iconfont icon-cuo</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">delect(index)</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/view&gt;
                                    &lt;image <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__img</span><span style="color: rgba(128, 0, 0, 1)">"</span> :src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(128, 0, 0, 1)">"</span> :data-src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">previewImage</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/image&gt;
                              &lt;/view&gt;
                            &lt;/block&gt;
                            &lt;!-- 视频 --&gt;
                            &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__file</span><span style="color: rgba(128, 0, 0, 1)">"</span> v-<span style="color: rgba(0, 0, 255, 1)">if</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">src</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                              &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uploader_video</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                                    &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">icon iconfont icon-cuo</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">delectVideo</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/view&gt;
                                    &lt;video :src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">src</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">video</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/video&gt;
                              &lt;/view&gt;
                            &lt;/view&gt;
                            &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__input-box</span><span style="color: rgba(128, 0, 0, 1)">"</span> v-<span style="color: rgba(0, 0, 255, 1)">if</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">VideoOfImagesShow</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;
                              &lt;view <span style="color: rgba(0, 0, 255, 1)">class</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uni-uploader__input</span><span style="color: rgba(128, 0, 0, 1)">"</span> @tap=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">chooseVideoImage</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;&lt;/view&gt;
                            &lt;/view&gt;
                        &lt;/view&gt;
                  &lt;/view&gt;


                &lt;/view&gt;
            &lt;/view&gt;
      &lt;/view&gt;
    &lt;/view&gt;
&lt;/template&gt;

&lt;script&gt;
    <span style="color: rgba(0, 0, 255, 1)">var</span> sourceType =<span style="color: rgba(0, 0, 0, 1)"> [
            [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">camera</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
            [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">album</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
            [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">camera</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">album</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
      ]
    export </span><span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)"> {
      data() {
            </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> {
                imageList:[],</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">图片</span>
                src:<span style="color: rgba(128, 0, 0, 1)">""</span>,<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">视频存放</span>
                sourceTypeIndex: <span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,
                checkedValue:</span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
                checkedIndex:</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
                sourceType: [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">拍摄</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">相册</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">拍摄或相册</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                cameraList: [{
                        value: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">back</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                        name: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">后置摄像头</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                        </span><span style="color: rgba(0, 0, 255, 1)">checked</span>: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">true</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                  },
                  {
                        value: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">front</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                        name: </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">前置摄像头</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                  },
                ],
                cameraIndex: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,
                VideoOfImagesShow:</span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
            }
      },
      onUnload() {
            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.src = <span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.sourceTypeIndex = <span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,
            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.sourceType = [<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">拍摄</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">相册</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">拍摄或相册</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">];
      },
      methods: {
            chooseVideoImage(){
                uni.showActionSheet({
                  title:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">选择上传类型</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  itemList: [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">图片</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">视频</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        console.log(res)
                        </span><span style="color: rgba(0, 0, 255, 1)">if</span>(res.tapIndex == <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">){
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.chooseImages()
                        } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.chooseVideo()
                        }
                  }
                })
            },
            chooseImages(){
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 上传图片</span>
<span style="color: rgba(0, 0, 0, 1)">                uni.chooseImage({
                  count: </span><span style="color: rgba(128, 0, 128, 1)">4</span>, <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">默认9
                  </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> sizeType: ['original', 'compressed'], </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">可以指定是原图还是压缩图,默认二者都有</span>
                  sourceType: [<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">album</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">camera</span><span style="color: rgba(128, 0, 0, 1)">'</span>], <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">从相册选择</span>
                  success:(res)=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        let igmFile </span>=<span style="color: rgba(0, 0, 0, 1)"> res.tempFilePaths;
                        uni.uploadFile({
                            url:</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.config.fileUrl,
                            method:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">POST</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                            header:{
                              </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Authorization</span><span style="color: rgba(128, 0, 0, 1)">'</span>:<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">bearer </span><span style="color: rgba(128, 0, 0, 1)">'</span>+ uni.getStorageSync(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">),
                              </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Content-Type</span><span style="color: rgba(128, 0, 0, 1)">'</span>:<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">multipart/form-data</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
                            },
                            filePath:igmFile[</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">],
                            name:</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">file</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                            success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)">{
                              </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> let imgUrls = JSON.parse(res.data); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">微信和头条支持</span>
                              let imgUrls = res.data <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">百度支持</span>
                              <span style="color: rgba(0, 0, 255, 1)">this</span>.imagesUrlPath = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.imagesUrlPath.concat(imgUrls.result.filePath);
                              </span><span style="color: rgba(0, 0, 255, 1)">this</span>.imageList = <span style="color: rgba(0, 0, 255, 1)">this</span>.imageList.concat(imgUrls.result.filePath); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">微信</span>
                              <span style="color: rgba(0, 0, 255, 1)">if</span>(<span style="color: rgba(0, 0, 255, 1)">this</span>.imageList.length&gt;=<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">) {
                                    </span><span style="color: rgba(0, 0, 255, 1)">this</span>.VideoOfImagesShow = <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
                              } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
                                    </span><span style="color: rgba(0, 0, 255, 1)">this</span>.VideoOfImagesShow = <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
                              }
                            }
                        })
                        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> this.imageList = this.imageList.concat(res.tempFilePaths)</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">头条</span>
<span style="color: rgba(0, 0, 0, 1)">                  },
                });
            },
            chooseVideo(){
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 上传视频</span>
<span style="color: rgba(0, 0, 0, 1)">                uni.chooseVideo({
                  maxDuration:</span><span style="color: rgba(128, 0, 128, 1)">60</span><span style="color: rgba(0, 0, 0, 1)">,
                  count: </span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">,
                  camera: </span><span style="color: rgba(0, 0, 255, 1)">this</span>.cameraList[<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.cameraIndex].value,
                  sourceType: [</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">album</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">],
                  success: (responent) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        let videoFile </span>=<span style="color: rgba(0, 0, 0, 1)"> responent.tempFilePath;
                        uni.uploadFile({
                            url:</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.config.fileUrl,
                            method:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">POST</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                            header:{
                              </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Authorization</span><span style="color: rgba(128, 0, 0, 1)">'</span>:<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">bearer </span><span style="color: rgba(128, 0, 0, 1)">'</span>+ uni.getStorageSync(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">token</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
                            },
                            filePath:videoFile,
                            name:</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">file</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
                            success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {                  
                              </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> let videoUrls = JSON.parse(res.data) </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">微信和头条支持</span>
                              let videoUrls = res.data <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">百度支持</span>
                              <span style="color: rgba(0, 0, 255, 1)">this</span>.imagesUrlPath = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.imagesUrlPath.concat(videoUrls.result.filePath);
                              </span><span style="color: rgba(0, 0, 255, 1)">this</span>.src = videoUrls.result.filePath; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">微信</span>
                              <span style="color: rgba(0, 0, 255, 1)">if</span>(<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.src) {
                                    </span><span style="color: rgba(0, 0, 255, 1)">this</span>.itemList = [<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">图片</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
                              } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
                                    </span><span style="color: rgba(0, 0, 255, 1)">this</span>.itemList = [<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">图片</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">视频</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">]
                              }
                              
                            }
                        })
                        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> this.src = responent.tempFilePath;</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">头条</span>
<span style="color: rgba(0, 0, 0, 1)">                  }
                })
            },
            previewImage: function(e) {
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">预览图片</span>
                <span style="color: rgba(0, 0, 255, 1)">var</span> current =<span style="color: rgba(0, 0, 0, 1)"> e.target.dataset.src
                uni.previewImage({
                  current: current,
                  urls: </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.imageList
                })
            },
            delect(index){
                uni.showModal({
                  title: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  content: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">是否要删除该图片</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  success: (res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
                        </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.confirm) {
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.imageList.splice(index, <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">)
                        }
                  }
                })
            },
            delectVideo(){
                uni.showModal({
                  title:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  content:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">是否要删除此视频</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                  success:(res) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)">{
                        </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">(res.confirm){
                            </span><span style="color: rgba(0, 0, 255, 1)">this</span>.src = <span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">
                        }
                  }
                })
            }
      }
    }
</span>&lt;/script&gt;

&lt;style&gt;<span style="color: rgba(0, 0, 0, 1)">
.burst</span>-<span style="color: rgba(0, 0, 0, 1)">wrap{
    width: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
    height: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)"> .burst-wrap .burst-wrap-bg{
    position: relative;
    width: 100%;
    height: 320upx;
    background:linear-gradient(90deg,rgba(251,91,80,1) 0%,rgba(240,45,51,1) 100%);
    border-bottom-right-radius: 80upx;
    border-bottom-left-radius: 80upx;
} </span><span style="color: rgba(0, 128, 0, 1)">*/</span><span style="color: rgba(0, 0, 0, 1)">
.burst</span>-wrap .burst-wrap-bg&gt;<span style="color: rgba(0, 0, 0, 1)">view{
    width: </span><span style="color: rgba(128, 0, 128, 1)">90</span>%<span style="color: rgba(0, 0, 0, 1)">;
    height: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
    margin: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> auto;
    position: absolute;
    top: 65upx;
    left: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
    right: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
}

.form</span>-<span style="color: rgba(0, 0, 0, 1)">item{
    width: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
}
.form</span>-<span style="color: rgba(0, 0, 0, 1)">item textarea{
    display: block;
    height: 220upx;
    width: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
    color: #AAAAAA;
    font</span>-<span style="color: rgba(0, 0, 0, 1)">size: 28upx;
}
.uni</span>-<span style="color: rgba(0, 0, 0, 1)">uploader__file,.uploader_video{
    position: relative;
    z</span>-index: <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
    width: 200upx;
    height: 200upx;
}
.uni</span>-<span style="color: rgba(0, 0, 0, 1)">uploader__img {
    width: 200upx;
    height: 200upx;
}
.icon</span>-<span style="color: rgba(0, 0, 0, 1)">cuo {
    position: absolute;
    right: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
    top: 5upx;
    background: linear</span>-gradient(90deg,rgba(<span style="color: rgba(128, 0, 128, 1)">251</span>,<span style="color: rgba(128, 0, 128, 1)">91</span>,<span style="color: rgba(128, 0, 128, 1)">80</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>) <span style="color: rgba(128, 0, 128, 1)">0</span>%,rgba(<span style="color: rgba(128, 0, 128, 1)">240</span>,<span style="color: rgba(128, 0, 128, 1)">45</span>,<span style="color: rgba(128, 0, 128, 1)">51</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>) <span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">);
    color: #FFFFFF;
    z</span>-index: <span style="color: rgba(128, 0, 128, 1)">999</span><span style="color: rgba(0, 0, 0, 1)">;
    border</span>-top-right-<span style="color: rgba(0, 0, 0, 1)">radius: 20upx;
    border</span>-bottom-left-<span style="color: rgba(0, 0, 0, 1)">radius: 20upx;
}
.video{
    width: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
    height: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
}

.login</span>-input-<span style="color: rgba(0, 0, 0, 1)">box{
    position: relative;
    border</span>-<span style="color: rgba(0, 0, 0, 1)">bottom: 1upx solid #EEEEEE;
}
.login</span>-input-box .forget,.login-input-<span style="color: rgba(0, 0, 0, 1)">box .phone{
    position: absolute;
    top: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
    height: </span><span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">;
    z</span>-index: <span style="color: rgba(128, 0, 128, 1)">100</span><span style="color: rgba(0, 0, 0, 1)">;
}
.login</span>-input-<span style="color: rgba(0, 0, 0, 1)">box .phone{
    width: 100upx;
    left: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
    color: #</span><span style="color: rgba(128, 0, 128, 1)">666666</span><span style="color: rgba(0, 0, 0, 1)">;
    font</span>-<span style="color: rgba(0, 0, 0, 1)">weight: bold;
}
.login</span>-input-box .phone-<span style="color: rgba(0, 0, 0, 1)">input{
    padding</span>-<span style="color: rgba(0, 0, 0, 1)">left: 100upx;
}
.address</span>-wrap,.open-<span style="color: rgba(0, 0, 0, 1)">info{
    margin</span>-<span style="color: rgba(0, 0, 0, 1)">top: 20upx;
}
.open</span>-info&gt;view:last-<span style="color: rgba(0, 0, 0, 1)">child{
    font</span>-<span style="color: rgba(0, 0, 0, 1)">size: 28upx;
    color: #</span><span style="color: rgba(128, 0, 128, 1)">999999</span><span style="color: rgba(0, 0, 0, 1)">;
}
.address</span>-<span style="color: rgba(0, 0, 0, 1)">wrap .address {
    background: #F2F2F2;
    border</span>-<span style="color: rgba(0, 0, 0, 1)">radius: 40upx;
    padding: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> 20upx;
}
.user</span>-<span style="color: rgba(0, 0, 255, 1)">set</span>-<span style="color: rgba(0, 0, 0, 1)">btn{
    margin: 40upx;
    background: linear</span>-gradient(90deg,rgba(<span style="color: rgba(128, 0, 128, 1)">251</span>,<span style="color: rgba(128, 0, 128, 1)">91</span>,<span style="color: rgba(128, 0, 128, 1)">80</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>) <span style="color: rgba(128, 0, 128, 1)">0</span>%,rgba(<span style="color: rgba(128, 0, 128, 1)">240</span>,<span style="color: rgba(128, 0, 128, 1)">45</span>,<span style="color: rgba(128, 0, 128, 1)">51</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>) <span style="color: rgba(128, 0, 128, 1)">100</span>%<span style="color: rgba(0, 0, 0, 1)">);
    color: #FFFFFF;
    text</span>-<span style="color: rgba(0, 0, 0, 1)">align: center;
    height: 88upx;
    line</span>-<span style="color: rgba(0, 0, 0, 1)">height: 88upx;
}
</span>&lt;/style&gt;</pre>
</div>
<p>&nbsp;</p>
<p>以上都是实现这个功能的所有代码。</p><br><br>
来源:https://www.cnblogs.com/zhoulifeng/p/11697124.html
頁: [1]
查看完整版本: uni-app实现图片和视频上传功能