@denism300

Почему не передается файл?

Пишу загрузку файлов из всплывающей формы, однако, файл не передается в скрипт загрузки
AJAX:
var form_data = new FormData();
var uploadFile = $("#attachFile_qo")[0].files[0];
form_data.append('file_upload', uploadFile);
alert(form_data);
$.ajax({
    type: "POST",
    url: "uploadFile.php",
    dataType: 'json',
    cache: false,
    contentType: false,
    processData: false,
    data: form_data,
    success: function(result) {
        alert("УСПЕХ");
    },
    error: function(result) {
        alert("ERROR");
    }
});


uploadFile.php
<?php defined('_JEXEC') or die;
require_once("PHPDebug.php");
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');

$debug = new PHPDebug();
$debug->debug("POST:", $_POST['file_upload']);

if(isset($_POST['file_upload'])) {  
    $uploadPath = JPATH_SITE . '/media/img_free';
    if(!JFolder::exists($uploadPath))
        JFolder::create($uploadPath);
    $file = $_FILES; 
    $file['name'] = JFile::makeSafe($file['name']); 
    if(isset($file['name'])) { 
        $filepath = JPath::clean($uploadPath . '/' . strtolower($file['name']));
        JFile::upload( $file['tmp_name'], $filepath ); 
    }	
} ?>


При этом, в алерт выводится [object FormData], ну или имя файла, если выводить так: alert($("#attachFile_qo")[0].files[0].name);
Так же в алерт выводится Успех, но при этом файл не загружается и phpdebug в консоль ничего не выводит, как будто скрипт uploadFile.php вообще не обрабатывается.

В чем ошибка и как исправить?
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vaajnur
битриксоид
проверь права на папки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы