使用Jasny文件输入使用PHP将文件上传到服务器
发布时间:2020-12-13 21:50:40 所属栏目:PHP教程 来源:网络整理
导读:我正在实现 Jasny File Input插件.但是,我无法将其上传到服务器. HTML form method="post" id="formCreateMod" class="form form-horizontal" enctype="multipart/form-data" role="form" div class="fileinput fileinput-new" data-provides="fileinput" di
我正在实现
Jasny File Input插件.但是,我无法将其上传到服务器.
HTML <form method="post" id="formCreateMod" class="form form-horizontal" enctype="multipart/form-data" role="form"> <div class="fileinput fileinput-new" data-provides="fileinput"> <div class="fileinput-preview thumbnail" data-trigger="fileinput"></div> <div> <span class="btn btn-default btn-file"><span class="fileinput-new">Select image</span><span class="fileinput-exists">Change</span><input type="file" name="img"></span> <a href="#" class="btn btn-default fileinput-exists" data-dismiss="fileinput">Delete</a> </div> </div> </form> 以上代码段位于< form>内.标签.然后我在jQuery中使用post将表单的序列化数据发送到服务器. 我希望通过使用$_FILES [‘img’] [“name”]或$_FILES [‘img’] [“type”]获取php中的内容,但结果为NULL. 那么在图像发布后我应该如何在php中检索图像数据? 任何帮助将不胜感激! 更新 以下是我在jQuery中发布表单的方法. var theForm = $('form'); $.post(location.href,theForm.serialize(),function(data) { // handle return data }); 解决方法
您不能使用ajax和表单序列化发布文件.
你应该检查this answer,这解释了原因. 但是,您仍然有解决方案: >不使用ajax,只使用表单上的enctype =’multipart / form-data’属性提交表单 <form [...] enctype='multipart/form-data'></form> >使用FormData var formData = new FormData(); // HTML file input user's choice... formData.append("userfile",fileInputElement.files[0]); var request = new XMLHttpRequest(); request.open("POST","http://foo.com/submitform.php"); request.send(formData); >使用File API var reader = new FileReader(); reader.onload = function(e) { var rawData = reader.result; } reader.readAsBinaryString(file); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |