Я храню свои файлы на Amazon Cloud Drive. И есть возможность установить response-content-disposition
на прямые ссылки из Amazon.Как использовать заголовок содержимого для установки загруженного имени файла UTF-8?
Из API:
response-content-disposition
: (Необязательно) Если указано, содержание, расположение ответа будет установлен на это значение
Мне нужно установить его скачать mp3 файлы. Мне не нужно играть в браузере.
И я хочу, чтобы установить загруженное имя файла: Эльбрус Джанмирзоев - Кавказская любовь.mp3
Я перепробовал много способов ... UrlEncode ... UrlEncode + HTTP построить запрос и т.д ...
Но теперь результат: Эльбрус+Джанмирзоев+-+Кавказская+любовь.mp3
когда загрузка файлов.
А вот мой PHP код:
<?php
function file_generate_download_link($filename = false, $force = true)
{
$json['tempLink'] = 'https://content-na.drive.amazonaws.com/cdproxy/templink/iTwUqoQ3cJXOpj6T8SCDmKwtF37TAENiSLQzy7pTSbkFfJttb';
$url = $json['tempLink'];
if($force)
{
$data['download'] = 'true';
}
if($filename)
{
$data['response-content-disposition'] = ' attachment; filename*=UTF-8\'\''.urlencode($filename).'';
}
if(isset($data)) {
$data = http_build_query($data);
$url .= '?' . $data;
}
return $url;
}
echo file_generate_download_link($filename = 'Эльбрус Джанмирзоев - Кавказская любовь.mp3');
?>
Этот код возвращает мне эту ссылку:
Если я ввожу эту ссылку Chrome сохраняет этот файл с таким именем:
Эльбрус+Джанмирзоев+-+Кавказская+любовь.mp3
Но я необходимо сохранить файл все тоже с этим именем:
Эльбрус Джанмирзоев - Кавказская любовь.mp3
Где моя ошибка?
Имя файла вы получаете и имя файла вы хотите точно так же. Что вы здесь ищете? –
Нет пробелов с плюсом. Но теперь пространства хорошие :) –