javascript - 使用 AJAX 将 PDF 文件发送到服务器 (PHP LARAVEL)

标签 javascript php jquery ajax laravel

我正在尝试通过 AJAX 将文件(PDF)上传到我的服务器,以便由 laravel 项目中的 php 脚本处理。我无法在服务器上发送和接收文件。

在网络中,我可以看到 POST 请求收到 200 响应,但它返回“文件不存在”响应,这是来自 Laravel 的响应。

此外,在发布请求中,请求负载包含以下内容

------WebKitFormBoundaryliAmA3wxs0bB32iZ--

请参见下面的js、html和php:

html

<form enctype="multipart/form-data">
   <input type="file" id="cv" name="cv"/>
   <button id="file-send">Add</button>
 </form>

js

$('#file-send').bind('click', function () {
   $.ajax({
      url:"test",
      data: new FormData($("#cv")[0]),
      type:'POST',
      processData: false,
      contentType: false,
      success:function(response){
         console.log(response);
      },
   });
});

LARAVEL 代码

public static function uploadingFile(){
        if (Input::hasFile('cv'))
{
   return "file present";
}
else{
    return "file not present";
}

最佳答案

试试这个:

JS:

$('#file-send').on('click', function() {
        var file_data = $('#pic').prop('files')[0];
        var form_data = new FormData();
        form_data.append('file', file_data);

        $.ajax({
                url         : 'upload.php',     // point to server-side PHP script 
                dataType    : 'text',           // what to expect back from the PHP script, if anything
                cache       : false,
                contentType : false,
                processData : false,
                data        : form_data,                         
                type        : 'post',
                success     : function(output){
                    alert(output);              // display response from the PHP script, if any
                }
         });
         $('#pic').val('');                     /* Clear the file container */
    });

PHP:

<?php
    if ( $_FILES['file']['error'] > 0 ){
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
        if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']))
        {
            echo "File Uploaded Successfully";
        }
    }

?>

关于javascript - 使用 AJAX 将 PDF 文件发送到服务器 (PHP LARAVEL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38893450/

相关文章:

jQuery:使复选框像单选按钮一样工作?

PHP json_encode 和 javascript 函数

javascript - 通过 crypto-js 的 base64 编码器

javascript - 将 x-editable 源放在 html 而不是 JavaScript 中

php - 抓取 php 字符串中最后 "/"之后的剩余文本

javascript - 将表单上的 javascript 验证更改为 onblur 或 onchange 而不是提交

javascript - Rails - 我如何确保部分已在 js.erb 中呈现

javascript - 如何在服务器端运行不受信任的代码?

php - 如何在 Laravel 中使用多个数据库

php - 使用 jquery 和 onClick 事件提交单选按钮的值