javascript实现上传文件到后台接收

在wordpress后台管理的插件管理界面,想添加一个ajax无刷新的上传,先说一下思路: 上传文件,必需得取得当前的文件的数据流,然后通过ajax的post方式发送给服务器处理。

(1)如何获取当前文件的数据流呢?

答:通过FormData()实例化的对象,将文件数据append在一个变量里面

(2)如何获取数据?

答:在type为file的input表单中,自带一个files属性。

HTML页面发送文件上传请求:

javascript实现上传文件到后台接收 var uploadImg = document.getElementById('upload_img');var myfileImg = document.getElementById('myfile_img');uploadImg.onchange = function(){var imgName = this.files[0].name;//let reader = new FileReader();var fordata = new FormData();fordata.append('my_file',this.files[0]);//向服务器发送文件数据ajaxPost(fordata,function(obj){var content = JSON.parse(obj.response);console.log(content);if(content.status == 'sucess'){myfileImg.src = './images/'+imgName;}});}function ajaxPost(data,fn){var xhr = new XMLHttpRequest();xhr.open('post','./upload.php','true');xhr.send(data);xhr.onload = function(){fn(this);} }

登录后复制

服务器处理文件数据,生成上传的文件:

$success = array('status' => 'sucess', 'code' => '1');$error = array('status' => 'error', 'code' => '0');if (!empty($_FILES)) {    $file = $_FILES['my_file'];    $new_file_dir = dirname(__FILE__) . '/images/' . $file['name'];    @move_uploaded_file($file['tmp_name'], $new_file_dir);    exit(json_encode($success));} else {    exit(json_encode($error));}

登录后复制

相关推荐:

JavaScript实现不刷新上传文件的方法介绍

以上就是javascript实现上传文件到后台接收的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2779282.html

(0)
上一篇 2025年3月8日 15:45:51
下一篇 2025年1月4日 02:23:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 详解JavaScript之闭包

    闭包 : 闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。 当内部函数在定义它的作用域的数据外部被引用时,就创建了该内部函数的闭包,如果内部函数引用了位于外部函数的变量,当外部函数调用完…

    编程技术 2025年3月8日
    200
  • js数组操作实例分析

    本文主要和大家分享js数组操作实例分析,主要以代码的形式和大家分享,希望能帮助到大家。 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined  var a = [1,2,3,4,5];   var b = …

    编程技术 2025年3月8日
    200
  • vue.js实现绑定class

    本文主要和大家分享vue.js实现绑定class,主要以代码的形式和大家分享,希望能帮助到大家。 nbsp;html>                Document                                  …

    编程技术 2025年3月8日
    200
  • JS跨域处理详解

    本文主要和大家分享JS跨域处理详解,解决js的跨域问题可以使用Jsonp,希望能帮助到大家。 js不可以跨域请求数据。 什么是跨域: 1、域名不同 2、域名相同端口不同。 解决js的跨域问题可以使用Jsonp,使用js的特性绕过跨域请求。J…

    2025年3月8日
    200
  • JS预加载图片的实现

    本文主要和大家分享js预加载图片的实现,希望能帮助到大家。 需求:项目中点击按钮,实现切换背景图功能。 问题:在切换css的background-image属性时,先加载图片后显示,会出现一瞬空白期。 解决方法:提前预加载背景图    首先…

    编程技术 2025年3月8日
    200
  • JS中的闭包详解

    本文主要和大家分享js中的闭包详解,主要以代码的方式和大家讲解,希望能帮助到大家。 var n = 999;function f1() {  console.log(n);}f1() // 999 登录后复制 JavaScript有两种作用…

    编程技术 2025年3月8日
    200
  • js实现拼装html代码

    本文主要和大家分享js实现拼装html代码,主要以一张图片和大家分享,希望能帮助到大家。 以上就是js实现拼装html代码的详细内容,更多请关注【创想鸟】其它相关文章!

    2025年3月8日
    200
  • js中DOM元素的操作方法

    DOM节点(node)一般对应一个标签、一个文版或者一个HTML属性。DOM节点有一个nodeType属性用来表示当前元素的枚举类型,{1:Element,2:Attribute,3:Text}。本文主要和大家分享js中DOM元素的操作方法…

    编程技术 2025年3月8日
    200
  • vue.js生成条形码的方法

    本文主要和大家分享vue.js生成条形码的方法,主要以代码的形式和大家分享,希望能帮助到大家。 1.下载插件 npm install @xkeshi/vue-barcode //下载条形码插件 登录后复制 2.在main.js中引入插件 i…

    编程技术 2025年3月8日
    200
  • js实现动态获取地址栏后的参数

    本文主要和大家分享js实现动态获取地址栏后的参数,希望能帮助到大家。 需求:js动态的获取地址栏后面的参数 js代码: alert(GetQueryString(“code”))  //获取地址栏后面的参数  function GetQue…

    2025年3月8日
    200

发表回复

登录后才能评论