前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066

这篇具有很好参考价值的文章主要介绍了前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前端vue单个文件上传支持图片,压缩包以及文件 , 阅读全文下载完整代码请关注微信公众号: 前端组件开发

效果图如下:

前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066

前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066文章来源地址https://www.toymoban.com/news/detail-486323.html

使用方法


<!-- photoList:选择的图片数组  @click:图片选择事件-->

<ccChooseImgsView :photoList="photoList" @click="addPhotoClick"></ccChooseImgsView>

addPhotoClick() {

uni.hideLoading();

let myThis = this;

if (myThis.photoList.length >= 1) {

myThis.photoList = [];

}

uni.chooseImage({

count: 1,

sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有

sourceType: ['album'], //从相册选择

success: function(res) {

myThis.photoList = [{'filePath':res.tempFilePaths[0]}];

console.log('选择图片 =' + JSON.stringify(myThis.photoList));

}

});

},

if (this.photoList.length > 0) {

myFilePath = this.photoList[0].filePath;

}

// 服务器地址上传地址 仅为示例,非真实的接口地址

let baseUrl = "http://gzcc.com/cc//appSc/up"

uni.uploadFile({

url: baseUrl, //仅为示例,非真实的接口地址

filePath: myFilePath, //文件路径

name: 'image', //服务端文件接受key

formData: this.myParamData,

success: (uploadFileRes) => {

uni.hideLoading();

let dataDic = JSON.parse(uploadFileRes.data);

console.log('uploadFileRes成功 = ' + JSON.stringify(uploadFileRes));

console.log('datadic成功 = ' + typeof(dataDic));

console.log('code码 = ' + dataDic['code']);

}

});

HTML代码部分


<template>

<view class="content" v-if="seen">

<form @submit="formSubmit" @reset="formReset">

<view class="inputView">

<text class="leftTitle">交通指引</text>

</view>

<textarea class="rightTextarea" name="direct" placeholder=" 请输入交通指引" />

<view class="inputView">

<text class="leftTitle">房屋介绍</text>

</view>

<textarea class="rightTextarea" name="village" placeholder=" 请输入房屋介绍" />

<view class="inputView">

<text class="leftTitle">添加房源照片(仅可添加1张)</text>

</view>

<!-- photoList:选择的图片数组  @click:图片选择事件-->

<ccChooseImgsView :photoList="photoList" @click="addPhotoClick"></ccChooseImgsView>

<view class="uni-btn-v">

<button class="botBtn" type="primary" form-type="submit">提交</button>

<view class="tipText"> 注意事项: 请确保您填写的房屋信息真实无误 </view>

</view>

</form>

</view>

</template>

JS代码 (引入组件 填充数据)


<script>

import Vue from 'vue';

import ccChooseImgsView from '../../components/ccChooseImgsView.vue';

export default {

components: {

ccChooseImgsView

},

data() {

return {

photoList: [],

seen: true,

myParamData: {},

isClick: false,

};

},

onLoad: function(e) {

},

methods: {

formSubmit: function(e) {

console.log('form发生了submit事件,携带数据为:' + JSON.stringify(e.detail.value));

if (this.isClick) {

let that = this;

setTimeout(function() {

that.isClick = false;

}, 600)

return;

}

this.isClick = true;

var formdata = e.detail.value;

this.myParamData = Object.assign(this.myParamData, formdata);

console.log('页面3 myParamData=' + JSON.stringify(this.myParamData));

if (formdata['direct'].length < 2) {

uni.showModal({

content: '请输入交通指引',

showCancel: false

});

return;

}

if (formdata['village'].length < 2) {

uni.showModal({

content: '请输入所在小区介绍',

showCancel: false

});

return;

}

if (this.photoList.length < 1) {

uni.showModal({

content: '请添加房源照片',

showCancel: false

});

return;

}

uni.showLoading({

title: '上传中'

})

let myFilePath = '';

if (this.photoList.length > 0) {

myFilePath = this.photoList[0].filePath;

}

// 服务器地址上传地址 仅为示例,非真实的接口地址

let baseUrl = "http://gzcc.com/cc//appSc/up"

uni.uploadFile({

url: baseUrl, //仅为示例,非真实的接口地址

filePath: myFilePath, //文件路径

name: 'image', //服务端文件接受key

formData: this.myParamData,

success: (uploadFileRes) => {

uni.hideLoading();

let dataDic = JSON.parse(uploadFileRes.data);

console.log('uploadFileRes成功 = ' + JSON.stringify(uploadFileRes));

console.log('datadic成功 = ' + typeof(dataDic));

console.log('code码 = ' + dataDic['code']);

}

});

},

addPhotoClick() {

uni.hideLoading();

let myThis = this;

if (myThis.photoList.length >= 1) {

myThis.photoList = [];

}

uni.chooseImage({

count: 1,

sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有

sourceType: ['album'], //从相册选择

success: function(res) {

myThis.photoList = [{'filePath':res.tempFilePaths[0]}];

console.log('选择图片 =' + JSON.stringify(myThis.photoList));

}

});

},

}

};

</script>

CSS


<style>

.uni-form-item .title {

padding: 20rpx 0;

}

.content {

display: flex;

flex-direction: column;

width: 100%;

height: auto;

}

.inputView {

flex-direction: row;

display: flex;

height: 40px;

align-items: center;

width: 100%;

}

.line {

width: 90%;

height: 2rpx;

margin-left: -2rpx;

background-color: #f8f8f8;

margin-left: 5%;

}

.leftTitle {

margin-left: 40rpx;

width: 284px;

height: 32px;

line-height: 32px;

font-size: 28rpx;

color: #333333;

}

.rightTextarea {

margin-left: 5%;

width: 90%;

height: 106px;

line-height: 40rpx;

border-radius: 12rpx;

border: solid 1px #F5F5F5;

font-size: 15px;

}

.uni-btn-v {

width: 100%;

height: auto;

}

.botBtn {

width: 90%;

margin-top: 36px;

height: 48px;

}

.tipText {

width: 100%;

margin-left: 0px;

text-align: center;

color: #666666;

margin-top: 36px;

margin-bottom: 36px;

font-size: 28rpx;

}

</style>

到了这里,关于前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【vue3】前端上传图片的格式大小限制和压缩

    目录 前言 对上传图片进行格式大小限制 压缩上传图片 上篇文章中研究了如何使用双token机制,在此篇中就暴露了一些问题:当accesstoken过期后,直到拿到最终想要得到的数据,期间需要经历三次请求——第一次请求,拿到accesstoken过期的消息——第二次携带refreshtoken发起请求

    2024年02月06日
    浏览(67)
  • vue+springboot 上传文件、图片、视频,回显到前端。

    预览: 视频: 分成两部,1.通过前端将文件的基本信息传送到后端进行储存,返回已储存的文件id,2.再将文件发送到后端储存。 储存文件信息 上传文件对象 这个我放在d盘下面,需要修改映射路径

    2023年04月19日
    浏览(58)
  • 一次理清前端文件上传操作(单个,多个,大文件切片)

    相信大家在工作中也会遇到前端文件上传的需求,虽然已经在项目中使用FormData和elementUI中upload组件都实现过类似上传效果,但自己对这块一直一知半解,因此做一个笔记梳理一下前端方面的文件上传操作,以供日常参考。 总体来说常用的两种方式:二进制传输和base64格式直

    2024年02月03日
    浏览(52)
  • vue 集成tinymce2实现图片,视频以及文件的上传

    1. 安装插件 (1)安装tinymce npm install tinymce -S (2)安装tinymce-vue npm install @tinymce/tinymce-vue@3.0.1 -S 2. 复制静态文件到 public 目录 资源下载路径:https://download.csdn.net/download/weixin_44021888/88063970?spm=1001.2014.3001.5503 3. 新建组件:tinymce 注意:如果上传过后的视频,只有一张图片的占位

    2024年02月16日
    浏览(38)
  • vue2上传图片image-conversion压缩

    项目中涉及上传图片,如果大体积的一般都需要压缩,这里我使用image-conversion来压缩 其实在npm中使用已经说得很明白了,我这里记录一下跟element ui上传组件配合使用 1、安装image-conversion 2、引入使用 2.1、这里配合element ui的上传组件配合使用 上传前方法中处理压缩逻辑,压

    2024年01月21日
    浏览(38)
  • SpringBoot整合hdfs,实现文件上传下载删除与批量删除,以及vue前端发送请求,实现前后端交互功能;

    部分工具类代码参考文章:https://blog.csdn.net/qq_27242695/article/details/119683823 前端实现效果 HDFSController HDFS FileInterface (文件接口) HDFS FileImplService (文件接口实现类) HDFSConfig(从yaml读取文件) HDFSUTils 前端vue代码:

    2024年02月16日
    浏览(79)
  • 前端实现压缩图片的功能(vue-element)

    前言:         随着现在手机像素,拍照功能越来越好,随之而来的是本地图片越来越大,那么如何更好的将本地图片上传到后端接口呢?这是后台管理系统常见的场景和头疼的问题,这里分享下个人的方法。 如下图所示,从 580kb -  压缩后  150kb 1、父级引入封装文件 2、首

    2024年02月05日
    浏览(33)
  • 图片上传流程&前端上传文件&后端保存文件&并返回图片地址

    也是在最近一点时间写小demo 遇到的一些问题 比如在用户界面,用户选择本地的一张照片,前端把照片传到后端,后端怎么把照片保存到服务器,然后返回给 图片线上地址。也是找了一些文章,然后分享下。  技术 前端:react 后端:egg.js(node框架) base64 转换  转二进制 保存

    2024年02月02日
    浏览(74)
  • uniapp微信小程序 图片&文件上传并且支持图片和文件预览(pdf等文件预览)巨细教学!

    首先呢,小程序打开pdf等文件有下面几种办法: 用微信自带的wx.downloadFile() + wx.openDocument() 使用web-view,uni-app中webview可以直接加载pdf文件 可以使用网上说的pdf.js去实现(我没有用到这个,就不介绍了) 网上查到很多资料显示安卓是可以通过上面第一种办法,但是ios用第一个

    2024年02月04日
    浏览(65)
  • 前端vue点击图片上传(带封装方法)

    直接用,图片路径自己换一下 封装组件upload.vue 直接用,图片路径自己换一下 使用组件 引入上面upload.vue

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包