vue.js php 上传图片,如何使用Vue.js和PHP上传文件

文件上传是web应用程序的基本要求之一。

使用Axios包发送AJAX请求来上传文件,使用FormData对象发送选定文件。

在本教程中,我将展示如何使用Vue.js和PHP上传文件。

1.下载&包括从Axios下载GitHub软件包,或者你也可以使用CDN (https://unpkg.com/axios/dist/axios.min.js),

现在,在

节中包含vue.js的axios.min.js,

2. HTML

中创建文件元素和按钮。

在file元素中添加了ref='file',用于获取Vue脚本中的选定文件。

在调用@click方法的按钮上添加事件。

完整的代码

Upload file

3. PHP

创建用于存储文件的ajaxfile.php文件和uploads目录。

在$valid_extensions数组中分配有效的文件扩展名,并从文件中获取文件扩展名。

如果在$valid_extension数组中找到文件扩展名,则上传文件,并返回1否则返回0。

完整的代码<?php

// File name

$filename = $_FILES['file']['name'];

// Valid file extensions

$valid_extensions = array("jpg","jpeg","png","pdf");

// File extension

$extension = pathinfo($filename, PATHINFO_EXTENSION);

// Check extension

if(in_array(strtolower($extension),$valid_extensions) ) {

// Upload file

if(move_uploaded_file($_FILES['file']['tmp_name'],"uploads/".$filename)){

echo 1;

}else{

echo 0;

}

}else{

echo 0;

}

exit;

4.脚本

在#myapp上初始化Vue。

添加file data变量,并定义uploadFile()方法,这个方法在上传按钮上被调用单击。

选择文件,并在FormData对象中追加。

向ajaxfile.php发送POST请求并将FormData作为数据传递。

另外,设置Content-Type: 'multipart/form-data' 在header中。

成功回调时如果response.data为0,则alert('File not uploaded.')否则,alert('File uploaded successfully.') 。

完整的代码var app = new Vue({

el: '#myapp',

data: {

file:"",

},

methods: {

uploadFile: function(){

this.file = this.$refs.file.files[0];

let formData = new FormData();

formData.append('file', this.file);

axios.post('ajaxfile.php', formData,

{

headers: {

'Content-Type': 'multipart/form-data'

}

})

.then(function (response) {

if(!response.data){

alert('File not uploaded.');

}else{

alert('File uploaded successfully.');

}

})

.catch(function (error) {

console.log(error);

});

}

}

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值