我没有使用php,ajax获取图片上传的临时名称

时间:2014-12-10 08:23:59

标签: php jquery ajax

我想使用php和ajax获取图片上传的临时名称。我得到了upolad图片的文件名。但是没有获得图片上传的临时名称。我的代码如下所示

main.php

<form action=" " method="POST" enctype="multipart/form-data">
    <div class="form-group">
        <label for="exampleInputFile">File Upload</label>
        <input type="file" name="file" id="file" size="150">
        <p class="help-block">Only Excel/CSV File Import.</p>
    </div>
    <button type="button" class="btn btn-default"
            name="Import" value="Import" onclick="file_up()">
        Upload</button>
</form>
<div id="upload_show"></div>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
    function file_up() {
        var file = $('#file').val();
        $.ajax({
            type: "POST",
            url: 'first_ajax.php',
            data: 'file=' + file,
            success: function (msg){
                $("#upload_show").html(msg);
            }
        });
    }
</script>

first_ajax.php

<?php
   echo $file1 = $_POST['file'];   // for get file name
   echo $file1 = $_POST['file']['tmp_name']; //for get temp name
?>

2 个答案:

答案 0 :(得分:1)

而不是, var file = $('#file').val();

尝试,
 var file = $("#file").prop("files")[0];

答案 1 :(得分:1)

使用FormData在AJAX文件中获取$ _FILES和$ _POST数组...

function file_up() {
 var formData = new FormData($('#form')[0]);
                    $.ajax({
                        url: 'first_ajax.php',
                        type: 'POST',
                        data: formData,
                        async: false,
                        success: function(data) {
                            $("#upload_show").html(msg);
                        },
                        cache: false,
                        contentType: false,
                        processData: false
                    });
                }