使用jQuery FileUpload发送的文件数据在哪里?

时间:2015-01-17 01:00:44

标签: javascript php jquery jquery-file-upload

我正在处理文件上传,我想要一个可以让用户轻松更新个人资料图片或头像的插件,只需点击一下即可。有人推荐blueimp使用jQueryFileUpload。我有视图的一部分设置(一个链接,当点击,打开一个filechooser对话框),但我在接收文件数据时遇到问题。 Fiddler显示文件数据被发布到我想要的网址,但我似乎无法找到我选择的文件数据存储的位置。使用

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();

我的POST处理程序如下:

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

1 个答案:

答案 0 :(得分:0)

您应该按照https://github.com/blueimp/jQuery-File-Upload/wiki/Setup上关于如何构建后端的文档进行操作。插件存档包含一个基本的PHP示例,您可以将其用作起点。