Javascript jQueryFileUpload发送的文件数据在哪里?

Javascript jQueryFileUpload发送的文件数据在哪里?,javascript,php,jquery,jquery-file-upload,Javascript,Php,Jquery,Jquery File Upload,我正在进行文件上传,我想要一个插件,可以让用户轻松地更新他们的个人资料图片,或头像,只需点击一下。有人推荐blueimp的jQueryFileUpload。我有它的视图部分设置(一个链接,点击后会打开一个文件选择器对话框),但我在接收文件数据时遇到问题。Fiddler显示了发布到我想要的url的文件数据,但我似乎找不到我选择的文件的数据存储的位置。使用 print_r($_POST); 仅显示一个参数 我的javascript如下所示: $(".hoverAction").on('click'

我正在进行文件上传,我想要一个插件,可以让用户轻松地更新他们的个人资料图片,或头像,只需点击一下。有人推荐blueimp的jQueryFileUpload。我有它的视图部分设置(一个链接,点击后会打开一个文件选择器对话框),但我在接收文件数据时遇到问题。Fiddler显示了发布到我想要的url的文件数据,但我似乎找不到我选择的文件的数据存储的位置。使用

print_r($_POST);
仅显示一个参数

我的javascript如下所示:

$(".hoverAction").on('click', function(e) {
            $(".fileInput:first").fileupload({
                url: "/user/update",
                singleFileUploads: true,
                formData: {
                    type: "avatar"
                },
                add: function(e, data)  {
                    var goUpload = true;
                    var uploadFile = data.files[0];
                    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(uploadFile.name)) {
                        common.notifyError('You must select an image file only');
                        goUpload = false;
                    }
                    if (uploadFile.size > 2000000) { // 2mb
                        common.notifyError('Please upload a smaller image, max size is 2 MB');
                        goUpload = false;
                    }
                    if (goUpload == true) {
                        data.submit();
                    }
                }
            });

            $(".fileInput:first").click();
function updateAction() {
        $type = $_POST['type'];
        switch($type)   {
            case "avatar":
                print_r($_POST); // returns only the type param
                break;
            case "cover":
                break;
            default:
        }
    }
我的邮件处理程序如下所示:

$(".hoverAction").on('click', function(e) {
            $(".fileInput:first").fileupload({
                url: "/user/update",
                singleFileUploads: true,
                formData: {
                    type: "avatar"
                },
                add: function(e, data)  {
                    var goUpload = true;
                    var uploadFile = data.files[0];
                    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(uploadFile.name)) {
                        common.notifyError('You must select an image file only');
                        goUpload = false;
                    }
                    if (uploadFile.size > 2000000) { // 2mb
                        common.notifyError('Please upload a smaller image, max size is 2 MB');
                        goUpload = false;
                    }
                    if (goUpload == true) {
                        data.submit();
                    }
                }
            });

            $(".fileInput:first").click();
function updateAction() {
        $type = $_POST['type'];
        switch($type)   {
            case "avatar":
                print_r($_POST); // returns only the type param
                break;
            case "cover":
                break;
            default:
        }
    }

您应该遵循有关如何构建后端的文档。插件档案包含一个基本的PHP示例,您可以使用它作为起点。

文件上传可以在
$\u FILES
中找到,而不是
$\u POST
@Barmar这是正确的一步,但在Fiddler中我看到了实际的文件数据。存储在哪里?它存储在服务器上的临时文件中,
$\u FILES
包含临时文件的名称。就像你做了一个普通的上传表单而不是AJAX一样。@Barmar Ohhh。我以为插件只是读取文件并将其数据发布到我的处理程序中。我不认为这是上传到临时位置。好吧,这就解决了我的问题。