通过 jquery $.post 上传文件

Posted

技术标签:

【中文标题】通过 jquery $.post 上传文件【英文标题】:Upload files via jquery $.post 【发布时间】:2013-11-29 20:13:29 【问题描述】:

对于发送 ajax 表单,我使用以下代码:

<input type="file" class="file_1" id="file" />
注意:不要使用“FORM”标签

我的 jQuery 代码:

var file = $('#file').val();
$.post('form.php', file:file, function(data));

还有我的 PHP 代码:

if($_FILES["file"]["tmp_name"] != '') 
            $fileName = $_FILES["file"]["name"];
            $fileTmpLoc = $_FILES["file"]["tmp_name"];
            $fileType = $_FILES["file"]["type"];
            $fileSize = $_FILES["file"]["size"];
        
echo $fileName;

但是这段代码不起作用

【问题讨论】:

jQuery 不能自己上传文件。见jQuery Form Plugin How to upload file asnychronously的可能重复 这个怎么用ajax?! jQuery 可以自己上传文件。似乎很多人不明白这是如何工作的。 Google 是您的朋友,真的。 How can I upload files asynchronously with jQuery? 的可能副本 【参考方案1】:

您正在尝试发布地址名称(换句话说,您发布了一个字符串),但文件上传需要是一个文件。 那么你可以从这个链接中找到答案:

Uploading both data and files in one form using Ajax?

【讨论】:

【参考方案2】:

我认为你不能。 尽管如此,还是有一些工具可以“模仿”它。 检查本教程: http://hayageek.com/ajax-file-upload-jquery/

或者这个问题: Is it possible to use Ajax to do file upload?

【讨论】:

以上是关于通过 jquery $.post 上传文件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Ajax 文件上传

jQuery Ajax 文件上传

使用 jquery post 上传 PHP 文件

jquery的post方法上传文件问题。

PHP 无法获取通过 Dropzone 上传的文件?

能用ajax以POST实现文件上传吗