Ajax和PHP如何发布文件?

时间:2016-11-27 15:02:41

标签: javascript php ajax

您好我有以下代码,允许用户选择图像。

<div class="modal" id="modal2">
       <div class="TheModal">
        <h2 style="color:white;margin-left:10px;margin-top:02%">Insert Image</h2>
        <div class="InsideModal">
          <input id="thumbage2" name="Image1"class="ModalArea2" type="file" style="display:none">

          <center><label for="thumbage2" id="labelthumb2" style="margin-top:35px;">Choose Image</label></center>

          <center>
            <button class="ModalButton2" onclick="iImage();">Submit</button>
            <button class="ModalButton2" onclick="cancel2();">Cancel</button>
          </center>
        </div>
       </div>      
      </div>

它不是一种形式,我不确定这是否重要。

function iImage(){
var imgsrc = document.getElementById('thumbage2');
if(imgsrc !=null){
    $(document).ready(function (e) {
        $('#form2').on('submit',(function(e) {
            e.preventDefault();
            var formData = new FormData(this);
            console.log("done");
            $.ajax({
                type:'POST',
                url: $(this).attr('action'),
                data:formData,
                cache:false,
                contentType: false,
                processData: false,
                success:function(data){
                    console.log("success");
                    console.log(data);
                },
                error: function(data){
                    console.log("error");
                    console.log(data);
                }
            });
        }));

        $("#ImageBrowse").on("change", function() {
            $("#form2").submit();
        });
    });


    richTextField.document.execCommand('insertParagraph',false,"");
    richTextField.document.execCommand('insertHTML',false,"[Image][Remove=Remove Image]");
    richTextField.document.execCommand('insertParagraph',false,"");
    document.getElementById('modal2').style.display = "none";
    document.getElementById('thumbage2').value =  "";
}

}

这是我的javscript代码。基本上我想要的是能够在输入字段中获取文件并将其发布到php文件(saveImage.php)而不离开页面。我该怎么做呢?顺便说一句,如果您想知道目的是上传图像并将它们存储在MYSQL数据库中的Blob中。如果重要的是这里是我的PHP代码:

$imageName = mysql_real_escape_string($_FILES["Image1"]["name"]);
    $imageData = '';
    $imageData2 = '';
    $imageext = '';
    if($imageName != null){
        $imageData = mysql_real_escape_string(file_get_contents($_FILES["Image1"]["tmp_name"]));
        $imageType = mysql_real_escape_string($_FILES["Image1"]["type"]);
        $imageSize = getimagesize($_FILES["Image1"]["tmp_name"]);
        $imageType = mysql_real_escape_string($_FILES["Image1"]["type"]);
        $FileSize = FileSize($_FILES["Image1"]["tmp_name"]);
        $imageext = $imageSize['mime'];
    }

    echo $imageext;

编辑:好的我把我的JS改成了每个人在评论中说的话。但这不是我想要的,我想在按下常规按钮而不是输入类型的提交时使用ajax提交文件数据。有人能真正帮助我吗?

0 个答案:

没有答案