javascript - JQuery 如何传递input file的内容至PHP进行处理

php中文网
发布: 2016-06-06 20:18:32
原创
1765人浏览过

今天问题高产似母猪...

立即学习PHP免费学习笔记(深入)”;

通过下列代码,我已经获取了 filemeta 也就是被选中的那个文件。

    $('#coverfile').on('change', '', function() {
        var filemeta = $('#coverfile').prop('files')[0];
    });
登录后复制

然后我有一个btn按钮,需要通过点击后ajax的方式传递这个被选中的图片,然后在php文件中进行处理。
但是我不知道应该怎么去传递这个获取过来的filemeta

本来我想传递base64过去的,因为预览图片我使用的是转换为base64进行预览的,但是这个转换后的字节太大了,php文件字节报500错误,所以我得换个办法...

知识画家
知识画家

AI交互知识生成引擎,一句话生成知识视频、动画和应用

知识画家 8
查看详情 知识画家

回复内容:

今天问题高产似母猪...

立即学习PHP免费学习笔记(深入)”;

通过下列代码,我已经获取了 filemeta 也就是被选中的那个文件。

    $('#coverfile').on('change', '', function() {
        var filemeta = $('#coverfile').prop('files')[0];
    });
登录后复制

然后我有一个btn按钮,需要通过点击后ajax的方式传递这个被选中的图片,然后在php文件中进行处理。
但是我不知道应该怎么去传递这个获取过来的filemeta

本来我想传递base64过去的,因为预览图片我使用的是转换为base64进行预览的,但是这个转换后的字节太大了,php文件字节报500错误,所以我得换个办法...

用FormData对象提交。注意IE只有版本10以上支持。

FormData对象怎么来呢,有两种方法。

方法一:表单就是FormData

HTML代码:

<form id="fileform">
    <input type="file" name="file">
</form>
登录后复制

JS代码:

var formElement = document.getElementById("fileform");
//jQuery可以像这样:
//var formElememt = $("#fileform")[0];
var formData = new FormData(formElement);
登录后复制

方法二:自己构造

HTML代码:

<input type="file" id="file">
登录后复制

JS代码:

var fileInput = document. getElementById("file");
//用jQuery可以这样:
//var fileInput=$("#file")[0];
var file = fileInput.files[0];    //获得File对象(也就是你那个filemeta),这里文件是单选的,如果是多选的需要遍历fileInput.files属性来获取每一个文件
var formData = new FormData();
formData.append("file", file);    //FormData对象的append方法第一个参数相当于input的name属性,第二个参数就是value,可以是File对象
登录后复制

用jQuery发送请求

$.ajax({
    type: "POST",    //必须POST
    url: "http://example.com",    //接收请求的URL
    processData: false,    //必须设置
    contentType: false,    //必须设置
    data: formData    //直接把formData对象作为data属性的值发送
    //其他参数参数自行设置
})
登录后复制

参考

MDN是个好东西,要学会用

https://developer.mozilla.org/zh-CN/docs/Web/Guide/Using_FormData_Objects

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号