Я создал угловой проект с функцией экспорта, позволяющий загружать выходные данные как .Zip на локальный компьютер.Как отправлять данные JSON и Zip-файл с помощью веб-api?
Теперь я планирую добавить новую функцию для загрузки zip-файла непосредственно на сервер с помощью веб-API вместо этого, чтобы загрузить на локальный, возможно ли это на угловом? Я собираюсь изменить мою функцию для загрузки на локальный и изменить ее для перехода на внешний сервер (но не работает). Поскольку я новый с угловой.
@floc Обновлено:
Спасибо за руководство, поэтому я создал функции следующим образом:
private function zip($path, $id)
{
$realPath = realpath($path);
$absolute = $realPath.DIRECTORY_SEPARATOR;
$ignore = array(realpath($this->exportsPath), $realPath);
//delete old zip if it exists
if (is_file($absolute.$id.'.zip')) {
unlink($absolute.$id.'.zip');
}
$zip = new ZipArchive();
$zip->open($absolute.$id.'.zip', ZipArchive::CREATE);
$files = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($realPath), \RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file)
{
$path = $file->getRealPath();
if (! in_array($file->getRealPath(), $ignore)) {
if (is_dir($file))
{
$zip->addEmptyDir(str_replace($absolute, '', $path));
}
else if (is_file($file))
{
$zip->addFromString(str_replace($absolute, '', $path), file_get_contents($file));
}
}
}
if ($zip->close()) {
return $absolute.$id.'.zip';
}
}
вместо сохранения в почтовый файл я хочу, что почтовый файл загрузки, используя веб-интерфейс API в одном нажмите кнопку. Я хочу изменить его, но до сих пор не повезло. :(
Спасибо за любую помощь и предложения.
Почтовые файлы не переводятся в JSON хорошо. Лучше всего размещать их как 'application/zip' или' application/octet-stream'. – georgeawg