Besoin d'aide ?

uploader et downloader un fichier

Avatar de FelixTachi
FelixTachi

mon programme permet bien d'envoyer et télécharger un fichier depuis mon ordinateur. sur le serveur j'ai bien le fichier dans taille initial Et après le téléchargement, le fichier à la taille normal, mais corrumpu inexploitable voici mon code d'envoi

Téléchargement du ficier
updateloadFile(e){
                let file = e.target.files[0];
                this.form.fileName  = e.target.files[0].name;
                let reader = new FileReader();

                let limit = 1024 * 500 * 1024;
                if(file['size'] > limit){
                    swal({
                        type: 'error',
                        title: 'Oops...',
                        text: 'La taille du fichier doit être <= 500 méga',
                    })
                    return false;
                }

                reader.onloadend = (file) => {
                    this.form.filleData = reader.result;
                }
                reader.readAsDataURL(file);
            },
Envoi du fichier sur le serveur
createFille(){
             this.$Progress.start();
             this.form.user_id = user.id;
                this.form.post('api/fille')
                .then(()=>{
                    Fire.$emit('AfterCreate');
                    $('#addNewFille').modal('hide')
                    toast({
                        type: 'success',
                        title: 'Fichier archivé avec success'
                        })
                    this.$Progress.finish();

                })
                .catch(()=>{
                    toast({
                        type: 'error',
                        title: 'une erreur s\'est produit'
                        })
                })
            }
         },
recepetion du fichier coté serveur
  $filleName =$request->fileName;
            $data = base64_decode($request->filleData);
            //stockage ftp
            Storage::put($folderName.'/'.$filleName, $data);
            $file->cheminftp = $folderName.'/'.$filleName;
Téléchargement du fichier côté serveur
 public function download()
    {
        //
        $id = \Request::get('q');
        $fille = Fichier::findOrFail($id);
        $chemin = $fille->cheminftp;
        $url = Storage::download($chemin);
        //$url = Storage::url($chemin);
        //$fille->cheminftp = $url ;
        return  $url;
    }
reception du fichier coté client
download(fille){
                
              axios({url: 'api/download?q='+fille.id,
                method: 'GET',
                responseType: 'blob', // important
                }).then(({ data }) =>{
                    const url = window.URL.createObjectURL(new Blob([data]));
                    const link = document.createElement('a');
                    link.href = url;
                    // var  directory = fille.cheminftp;
                    var arrayPath = fille.cheminftp.split('/');
                    arrayPath = arrayPath.reverse();
                    var shot_fileName = arrayPath[0];
                    link.setAttribute('download', shot_fileName); //or any other extension
                    document.body.appendChild(link);
                    link.click();
              });
             },

Tout marche bien, mais le fichier est corrumpu SVP aider moi à resoudre ce problème

Posté il y a 6 mois

Vous ne pouvez pas répondre à ce sujet.