Загрузка файлов с помощью ajax в WordPressJquery

Программирование на jquery
Ответить
Anonymous
 Загрузка файлов с помощью ajax в WordPress

Сообщение Anonymous »

Можно ли использовать WordPress Ajax для загрузки файлов. У меня есть эта функция для загрузки вложения.

Код: Выделить всё

function download_attachment()
{
$file_path = $_POST['filename'];
$file_mime = $_POST['mime'];
$data['file_path'] = file_exists($file_path);

try{
header('Pragma: public');   // required
header('Expires: 0');       // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($file_path)).' GMT');
header('Cache-Control: private',false);
header('Content-Type: '.$file_mime);
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file_path));    // provide file size
header('Connection: close');
set_time_limit(0);
@readfile("$file_path") or die("File not found.");

}catch(Exception $e)
{
$data['error'] = $e->getMessage() ." @ ". $e->getFile() .' - '. $e->getLine();
}
}
echo json_encode($data);
die();
}
Он подключен к основной функции WordPress с помощью этой функции:

Код: Выделить всё

    add_action('wp_ajax_download_attachment','download_attachment');
И код jQuery такой:

Код: Выделить всё

var data = {
'function': 'download_attachment',
'filename': file_path,
'mime': mime
};

jQuery.ajax({
url: ajaxurl,
type: "POST",
data: data,
success: function(return_data, textStatus, jqXHR) {
parsedData = kalimahJS.parseJSON(return_data);
window.open(parsedData.url);
}
})
Конечный результат — 0, отображаемый на экране. Есть ли другой способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/265 ... -wordpress
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»