文档章节

关于php ajax文件上传中,FormData的使用和编码问题

非洲小毛驴
 非洲小毛驴
发布于 2016/08/11 16:18
字数 239
阅读 94
收藏 0

最近项目中需要一个文件上传的功能,就想写一个 ajax无刷新的文件上传

首先你需要一个file来存储需要上传文件的文件名

当file被改变时,读取数据,并插入至formdata中,然后通过ajax上传到后端

这里需要注意

processData设置为false。因为data值是FormData对象,不需要对数据做处理。
cache设置为false,上传文件不需要缓存。
contentType设置为false。是因为数据是formData。

这三项必须要写,否则会报错。

这是一个坑。然后数据传到后台之后(上传文件就不讲了),由于编码问题,在move_uploaded_file的时候会出现错误,我们需要对文件名进行编码处理

$_FILES['file']['name'] = iconv('UTF-8','gb2312',$_FILES['file']['name']);

这样基本上就可以成功上传文件了

 

© 著作权归作者所有

共有 人打赏支持
非洲小毛驴
粉丝 0
博文 2
码字总数 1190
作品 0
慈溪
程序员
利用FormData进行ajax上传文件

个人实现方式: html代码 js代码: 后台python代码 很简洁的代码,便可以达到Ajax方式上传文件,上面的代码中使用<input type="file" />这种传统的选择文件的方法产生文件对象,HTML5还支持使...

单蛙
2016/06/17
3.1K
0
通过Ajax方式上传文件,使用FormData进行Ajax请求

通过传统的form表单提交的方式上传文件: Html代码 不过传统的form表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用Ajax的方式进行请求的: Js代码 ...

文文1
2016/06/22
51
0
JS中使用FormData上传文件、图片的方法

转自http://www.jb51.net/article/89998.htm 参考:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/UsingFormDataObjects FormData 废话不多说,先上最后我用的完成版: 完整实......

lllo3o
2017/05/23
0
0
HTML5 FormData+Ajax上传文件表单

文件表单的数据类事multipart/form-data,因此,formData需要特殊处理. 文件上传 参考文章: HTML5 + AJAX ( 原生JavaScript ) 异步多文件上传 [HTML5] Blob对象 通过Ajax方式上传文件,使用...

IamOkay
2017/10/31
0
0
javascript将base64编码的图片数据转换为file并提交

直接提交base64编码图片数据,过大的话后台会出现转发错误问题。 一个不错的解决方式就是将base64编码的图片数据转换为Blob(与File相似)并添加到form中提交。下面是代码: / @param base6...

得意小生
2015/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Minifilter的动态安装、加载及卸载

MINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。 看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instanc...

simpower
23分钟前
1
0
idea新建springCloud项目(6)- Config Server使用

1.在IDEA新建springCloud项目-Config Server 修改版本,和之前建的eureka项目版本一致,修改完记得刷新: 删除掉不需要的文件: 2.把Config S 服务注册到eureka上去,配置git地址,启动项目 ...

monroeCode
28分钟前
3
0
大数据可视化项目开发总纲

第1章 开发文档总纲 1.1 开发工具清单 名称 版本 备注 Pentaho-bi server pentaho-server-ce-7.1 Pentaho Cde为其内置工具 Pentaho-prd pentaho-prd-ce-7.1 Pentaho Report Designer报表工具...

ZhangLG
28分钟前
2
0
pip安装超时问题

pip3 install --default-timeout=100 tensorflow 设置为100秒 参考: User Guide How to solve ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443) with pip?......

亚林瓜子
30分钟前
1
0
fragment 旋转时保持当前实例

设备旋转时保存Fragment的交互状态: setRetainInstance(true);

zdglf
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部