【问题标题】:Simple TYPO3 Fluid fileupload with Ajax?使用 Ajax 的简单 TYPO3 Fluid 文件上传?
【发布时间】:2017-11-08 13:14:10
【问题描述】:

目前我一直在寻找一种很好的、​​兼容的方式来在 TYPO3 Fluid 中实现 Ajax-File-Upload。我知道 Helmut Hummel 在 GitHub 上的 Demo-Extension,但在我看来,这对于我的需求来说有点矫枉过正,并且不包括“真正的”ajax 提交。我绝对不想在该特定站点上重新加载任何页面。 我想构建一个 csv 文件的 ajax 上传,由我自己的控制器操作进行分析,结果将在之后的灯箱中显示(确认步骤)。 有没有什么优雅的方法可以将文件的文本内容传递给我自己在 TYPO3 中的控制器?

【问题讨论】:

    标签: ajax file upload typo3 fluid


    【解决方案1】:

    您可以使用 jquery ajax 或前端的任何其他 javascript 框架简单地将文件数据作为二进制文件发送。

    这里是发送二进制文件的 javascript/jQuery。

    var file_data = $("#upload").prop("files")[0];
    var form_data = new FormData();
    form_data.append('tx_extname_plugin[file]', file_data);
    $.ajax({
      url: 'your action url',
      dataType: 'json',
      cache: false,
      contentType: false,
      processData: false,
      data: form_data,                         
      type: 'post',
      success: function(data){
    
      }
    });
    

    在控制器动作中,您可以从控制器上传文件作为您想要的位置。之后,您可以将上传的文件用于其他内容。

    public function demoAction(){
        $uploadedFile = $_FILE['file'];
    }
    

    可能是这段代码是老派的,因为我在一年前就实现了它。

    【讨论】:

    • 非常感谢!这正是我想要的!我错过了“form_data.append('tx_extname_plugin[file]', file_data);”部分.. 试图完全那样做,但我总是得到空的 $_FILES-array.. 但现在很明显我做错了什么!
    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 2020-12-18
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    相关资源
    最近更新 更多