首页 > 其他分享 >vue文件上传

vue文件上传

时间:2023-11-09 11:45:57浏览次数:26  
标签:files 文件 vue log formData Filename file 上传

单文件上传
前端部分:

<template>
<br>
<a-from label="上传文件">
<a-input type="file"></a-input>
<a-button @click="upload" type="danger">上传</a-button>
</a-from>
</template>
<script>
export default {
data() {
return {
headers: {
authorization: 'authorization-text',
},
};
},
methods: {
upload() {
const formData = new FormData();
formData.append("file",document.querySelector('input[type=file]').files[0])
// 因为不是以json的形式提交,所以无需使用qs转换
this.$axios.post('/postfile',formData).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
}
},
};
</script>


后端:

func PostFile(c *gin.Context) {
file, err := c.FormFile("file")
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{
"message" : err.Error(),
})
return
}
log.Println(file.Filename)
dst := fmt.Sprintf("uploadfile\\%s", file.Filename)
c.SaveUploadedFile(file, dst)
c.JSON(http.StatusOK, gin.H{
"message" : fmt.Sprintf("'%s' uploaded!", file.Filename),
})
}

多文件上传
前端:

<template>
<br />
<a-from label="多文件上传">
<a-upload > </a-upload>
<input type="file" class="files" multiple="multiple">
<a-button @click="upload" type="danger">上传</a-button>
</a-from>
</template>
<script>
export default {
data() {
return {
headers: {
authorization: "authorization-text",
},
};
},
methods: {
upload() {
const formData = new FormData();
const file = document.getElementsByClassName("files")[0].files;
// console.log("上传的文件数量:" + file.length);
for (let i = 0; i < file.length; i++) {
formData.append("file", file[i]);
}
this.$axios
.post("/postfiles", formData)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
},
},
};
</script>


后端:

func PostFiles(c *gin.Context) {
form, _ := c.MultipartForm()
files := form.File["file"]

for _, file := range files {
log.Println(file.Filename)
dst := fmt.Sprintf("uploadfile\\%s", file.Filename)
c.SaveUploadedFile(file, dst)
}
c.JSON(http.StatusOK, gin.H{
"message" : fmt.Sprintf("%d files uploaded!", len(files)),
})
}

参考文章:http://blog.ncmem.com/wordpress/2023/11/09/vue%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0/

欢迎入群一起讨论

 

 

标签:files,文件,vue,log,formData,Filename,file,上传
From: https://www.cnblogs.com/songsu/p/17819339.html

相关文章

  • linux文件权限
    文件的基本权限权限的作用通过对文件设定权限可以达到以下三种访问限制权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。查看权限ll/etc/passwd输出:-rw-r--r--.1rootroot20539月192017/etc/passwd文件权限解释 r......
  • Linux下*.tar.gz文件解压缩命令
    Linux下*.tar.gz文件解压缩命令1.压缩命令:命令格式:tar -zcvf  压缩文件名.tar.gz  被压缩文件名  可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。2.解压缩命令:命令格式:tar -zxvf  压缩文件名.tar.gz解压缩后的文件只能放在当前......
  • maven pom文件详解
    代码下载地址:http://www.blogjava.net/hellxoul/archive/2013/05/16/399345.html<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/......
  • Python逐行读取文件常用的三种方法!
    在Python中,读取文件是非常普遍的操作,而逐行读取文件则是最常见的需求。那么Python如何逐行读取文件?为大家介绍常用的三种方法,一起来看看吧。1、使用readline()方法逐行读取文件在Python中,我们可以使用readline()方法逐行读取文件。该方法用于读取文件的一行内容,并将文......
  • 备份下启动springboot项目脚本文件 start.sh
    1.将jar包放到和该脚本同级目录2.记得chmod777./start.sh赋予执行权限3.执行./start.sh文件即可4.重启也可以直接执行此文件5.如果没有打包配置文件可以在此脚本同级目录创建config目录将yml/properties配置文件放进去. #!/bin/bash#进入脚本所在路径cd`dirname$......
  • ubuntu22.04挂载windows的smb3文件共享
    现在windows一般使用smb3.0版本 可以看到,支持smb3直接编辑/etc/fstab 如果目标目录有空格,可以用\040进行转义,通常的转义在这儿不管用。/etc/cirfs-credentials用于配置用户名密码  手动挂载可以使用sudomount.smb3//192.168.31.20/samba /mnt/samba-ousername......
  • mysql8.x通过备份文件及binlog日志恢复数据
    问题简述记一次mysql数据库被误删(是整个库被删了)后的还原前提条件数据库版本为mysql8.x以上具有库被删除前的完整备份数据库开启binlog还原步骤第一步:通过完整备份还原被删的库注意事项:还原后切勿让其他用户连接,操作数据库。待使用binlog日志恢复数据后再对库进行操作,否......
  • Linux文件编程(lseek函数和stat函数)
    (文章目录)前言本篇文章来讲解lseek函数和stat函数,lseek函数主要用来设置文件偏移量,stat函数主要用来获取文件属性。一、lseek函数lseek函数用于在打开的文件中移动文件指针的位置。它可以用于设置文件的读写位置或查找特定位置的数据。函数原型如下:#include<unistd.h>o......
  • vue实现文件上传
    文件上传是web开发中一个常见的需求,Vue.js作为一款流行的前端框架,也提供了方便的方法来实现文件上传功能。在此,将详细讲解Vue.js如何实现文件上传。首先,我们需要准备一个简单的html页面来接收上传文件。下面是示例代码:<divid="app"><inputtype="file"ref="fileInput"@chang......
  • Linux文件管理知识:文本处理
    上篇文章详细介绍了Linux系统中查找文件的工具或者命令程序的相关操作内容介绍。那么,今天呢,这篇文章围绕Linux系统中文本处理来阐述。 众所周知,所有Linux操作系统都离不开一个核心原则,那就是它是由很多种文件组成的,那么,Linux系统的任何操作就离不开文本文件的处理。所以,它有很......