Salut à tous pour ceux qui se plaignent pourquoi wix-fetch n’a pas de reponse.blob pour chercher les document, il y a un npm qui se nomme axios qui peut fetcher un document qui se trouve dans une url. voici le code
D’abord je tien à précisier que l’url utilisé dans cet exemple provient d’une url généré sur un tuto dans un forum cliquez ici pour lire le forum : Generer automatiquement un document - Show and tell - Community Support Forum | Wix Studio
//Backend
import { mediaManager } from 'wix-media-backend';
import axios from 'axios';
export async function downloadPDFAndUploadToWix(pdfUrl, fileName) {
try {
// Télécharger le PDF à partir de l'URL
const response = await axios.get(pdfUrl, { responseType: 'arraybuffer' });
// Créer un fichier temporaire pour l'upload
const buffer = Buffer.from(response.data);
// Uploader le fichier dans Wix Media
const uploadedFile = await mediaManager.upload("documents", buffer, fileName, {});
// Récupérer l'URL du fichier téléchargé
return uploadedFile.fileUrl;
} catch (error) {
console.error("Erreur lors du téléchargement ou de l'upload du PDF", error);
throw new Error("Le téléchargement ou l'upload du fichier a échoué.");
}
}
//FRONTEND
import { convertirNombreEnLettres } from 'backend/nettoyage.jsw';
import wixData from 'wix-data';
try {
// URL temporaire du fichier à télécharger
// Remplacez par l'URL réelle ou récupérez-la dynamiquement
const pdfUrl = downloadUrl //URL de votre document
const fileNames = fileName
// Appelez la fonction backend pour télécharger et téléverser le fichier
const permanentFileUrl = downloadPDFAndUploadToWix(pdfUrl, fileNames)
.then((uploadedUrl) => {
console.log("Fichier uploadé avec succès :", uploadedUrl);
wixData.get("COLLECTION NAME", id)//un id qui se trouve dans votre collection
.then((item) => {
item.facture = uploadedUrl; // updated last document in ""facture""
wixData.update("COLLECTION NAME", item);
console.log(item); //see item below
})
.catch((err) => {
console.log(err);
});