0
我創建了一個帶導出功能的角度項目,能夠將輸出作爲.Zip下載到本地計算機。如何使用web api發佈JSON數據和Zip文件?
現在,我打算添加一個新功能,將zip文件直接上傳到服務器,而不是使用web API下載到本地,是否有可能使用angular?我正在考慮修改我的下載到本地的功能,並將其更改爲推送到外部服務器(但不工作)。 因爲我是新角度。
@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';
}
}
,而不是保存爲zip文件我一個利用網絡API要到壓縮文件上傳單擊。我想修改它,但仍然沒有運氣。 :(
感謝您的幫助和建議。
Zip文件不能轉換爲JSON。最好將它們發佈爲'application/zip'或'application/octet-stream'。 – georgeawg