图像无法通过ajax上传

时间:2013-12-12 12:26:29

标签: php ajax image

我正在尝试通过提交表单上传图片。以下是我的代码段:

HTML:

<form method="POST" id="statusform" action="insertstatus.php" enctype="multipart/form-data">
<textarea name="statusText" onclick="javascript:this.value='';" class="retroText" style="width:600px;height:100px;font-family:lucida sans unicode,lucida grande,sans-serif;resize:none;padding:5px;">Post your crap here ...</textarea>
<input type="file" name="statusPhoto" accept="image/gif, image/jpeg, image/x-ms-bmp, image/x-png" size="26" />
</form>

jquery的:

$("#statusform").submit(function() {

        $.post($("#statusform").attr("action"), $("#statusform").serialize(), function(data){           
            alert(data);
        });


        //Important. Stop the normal POST
        return false;
    });

PHP:

if(isset($_FILES['statusPhoto']) && $_FILES['statusPhoto']['size'] > 0)
{
         <Image Upload Code>
}
else
echo "Photo not submitted";

从ajax返回的消息是:照片未提交。 请帮忙.. !!

2 个答案:

答案 0 :(得分:1)

您正在上传名称,而不是图片。

$("#statusform").serialize()返回一个字符串,图像是一个blob。例如,尝试使用一些jQuery plugins

答案 1 :(得分:0)

您可以按照文章

中的说明通过iframe异步上传文件

http://viralpatel.net/blogs/ajax-style-file-uploading-using-hidden-iframe/