Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ajax进行简单的TYPO3流体文件上传?_Ajax_File_Upload_Typo3_Fluid - Fatal编程技术网

使用Ajax进行简单的TYPO3流体文件上传?

使用Ajax进行简单的TYPO3流体文件上传?,ajax,file,upload,typo3,fluid,Ajax,File,Upload,Typo3,Fluid,目前,我一直在寻找一种很好的、兼容的方法来实现TYPO3流体中的Ajax文件上传。我知道Helmut Hummel在GitHub上的演示扩展,但在我看来,这对于我的需求来说是过度的,不包括“真正的”ajax提交。我绝对不想在那个特定的网站上重新加载任何页面。 我想构建一个csv文件的ajax上传,该文件由我自己的控制器操作进行分析,之后结果将显示在灯箱中(确认步骤)。 有没有什么优雅的方法可以用TYPO3将文件的文本内容传递给我自己的控制器?您只需使用jquery ajax或任何其他javasc

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

您只需使用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);”部分。。我试着这样做,但我总是得到空的$\u FILES-array。。但是现在很明显我做错了什么!!