Murilo Thomas
Murilo Thomas

Reputation: 1

Problem when retrieving a .cdr archive from my Storage server in Laravel

I'm working with Laravel 10x. When I try to retrieve a .cdr file that I saved on my dedicated storage server, the file gets altered.

I've attempted two methods: using ZipArchive and retrieving the file directly. Here's the code for each approach:

Using ZipArchive:

    $zipfile = 'Arquivos.zip';
    $zip = new \ZipArchive();
    if ($zip->open($zipfile, \ZipArchive::CREATE | \ZipArchive::OVERWRITE)) {
        foreach ($this->itens as $item) {
            if ($item->item->imagem && $item->item->arquivo) {
                $files = [
                    public_path('storage/compras/itens/' . $item->item->imagem),
                    public_path('storage/compras/itens/' . $item->item->arquivo),
                ];
            } elseif ($item->item->imagem) {
                $files = [
                    public_path('storage/compras/itens/' . $item->item->imagem),
                ];
            } elseif ($item->item->arquivo) {
                $files = [
                    public_path('storage/compras/itens/' . $item->item->arquivo),
                ];
            }
            foreach ($files as $file) {
                $zip->addFile($file, basename($file));
            }
        }
    }
    $return = $return->attach($zip->filename, [
        'mime' => 'application/zip',
    ]);
    $zip->close();
    return $return;

In this code snippet, $item->item->arquivo represents the .cdr file.

Direct Method:

    foreach ($this->itens as $item) {
        $return->attachData($this->itens->arquivo($item->item->arquivo), 'arquivo', [
            'mime' => 'application/cdr',
        ]);
    }

Here's the arquivo method in the model:

    public function arquivo($arquivo) {
        $arquivo_storage = Storage::disk('storage_itaip')->get("compras/itens/$arquivo");
        return $arquivo_storage;
    }

Despite using both methods, the .cdr file ends up altered. Can someone assist me with this issue?

Upvotes: 0

Views: 16

Answers (0)

Related Questions