Поле jQuery ajax post file

У меня есть форма с вводом файла. Как получить файл и отправить его на php script с помощью jQuery? Могу ли я использовать .val() для получения значения, а затем опубликовать его? Например, скажем, что в файле есть идентификатор файла, который я могу сделать только:

$('#submit').click(function() {
    var file = $('#file').val();
    $.post('script.php', { "file": file }, function(data) {
        // do something here after post complete
    }, 'json');
});

Спасибо

Ответ 2

Я пробовал использовать этот код для приема файлов с помощью Ajax, а при отправке файлов - в хранилище, используя мой php файл. Код слегка изменился для работы. (Загруженные файлы: PDF, JPG)

function verify1() {
    jQuery.ajax({
        type: 'POST',
        url:"functions.php",
        data: new FormData($("#infoForm1")[0]),
        processData: false, 
        contentType: false, 
        success: function(returnval) {
             $("#show1").html(returnval);
             $('#show1').show();
         }
    });
}

Просто распечатайте данные файла и проверьте. Вы получите Output. Если ошибка сообщит мне.

Ответ 3

Загрузка файлов может не осуществляться таким образом, независимо от того, как вы ее сломаете. Если вы хотите выполнить загрузку ajax/async, я бы предложил посмотреть на что-то вроде Uploadify или Valums

Ответ 4

Попробуйте это...

<script type="text/javascript">
      $("#form_oferta").submit(function(event) 
      {
           var myData = $( form ).serialize(); 
           $.ajax({
                type: "POST", 
                contentType:attr( "enctype", "multipart/form-data" ),
                url: " URL Goes Here ",  
                data: myData,  
                success: function( data )  
                {
                     alert( data );
                }
           });
           return false;  
      });
</script>

Здесь contentType указан как multipart/form-data, как и в теге формы, это будет работать для загрузки простого файла На стороне сервера вам просто нужно написать простой код загрузки файла для обработки этого запроса с эхо-сообщением, которое вы хотите показать пользователю в качестве ответа.