https://www.npmjs.com/package/azure-storage
Sur la base de ce projet ou potentiellement d'un autre, est-ce que quelqu'un a utilisé un package JavaScript pour les téléchargements de stockage blob Azure?
Je ne poste ici que car mes recherches ont donné peu de résultats, donc je pensais qu'une conversation potentielle sur le manque de support natif de réaction d'Azure pourrait découvrir des solutions de contournement.
Je continuerai d'essayer le package listé et fournirai des résultats en cas de succès, donc comme toujours merci pour toute réponse et direction car c'est toujours très apprécié!
Modifier: Cela semble intéressant, même si je ne l'ai pas examiné en détail: https://www.npmjs.com/package/azure-blob-storage
3 Réponses :
Oui, j'ai utilisé.
const localUri = __IS_IOS ? file.uri.replace('file://', '') : file.uri; const assetPath = `${_trimEnd(sasContainerUri, '/')}/${container}/${uploadPath}`; await RNFetchBlob.fetch('PUT', `${assetPath}?${sasToken}`, { 'x-ms-blob-type': 'BlockBlob', 'content-type': 'application/octet-stream', 'x-ms-blob-content-type': file.type, }, RNFetchBlob.wrap(localUri)); return assetPath
Pouvez-vous démontrer une solution plus détaillée? J'obtiens "Cette demande n'est pas autorisée à effectuer cette opération." Erreur.
J'obtiens le code d'erreur 409 L'opération n'est pas autorisée dans l'état de l'entité. Toute solution pour cela @Nikhil, merci d'avance
npm install react-native-azure-blob-storage --save https://github.com/PosSoolutions/react-native-azure-blob-storage
Au cas où quelqu'un aurait du mal à le faire fonctionner avec d'autres solutions proposées ici. En voici un autre utilisant rn-fetch-blob
. Cette solution permet également d'enregistrer un objet blob avec un nom personnalisé, par exemple customBlobName
import RNFetchBlob from "rn-fetch-blob"; const sasContainerUri = "https://accountname.blob.core.windows.net"; const container = "minecontainer"; const sasToken = "sv=2019-02-02&ss=b&srt=sco&sp=rwdlac&se=2020-05-30T22:48:22Z&st=2020-05-25T14:48:22Z&spr=https&sig=otherpartofSAStoken"; // you may need to play with other html verbs in this string e.g., `sp`, `ss` e.t.c. const localUri = Constants.platform.ios ? file.uri.replace("file://", "/") : file.uri; const assetPath = `${sasContainerUri}/${container}/${customBlobName}`; try { await RNFetchBlob.fetch( "PUT", `${assetPath}?${sasToken}`, { "x-ms-blob-type": "BlockBlob", "content-type": "application/octet-stream", "x-ms-blob-content-type": file.type }, RNFetchBlob.wrap(localUri) ); } catch (e) { console.log("Error at saving image into Azure Storage", e); }
Je reçois une erreur d'authentification. Aucun conseil? Le serveur n'a pas pu authentifier la demande. Assurez-vous que la valeur de l'en-tête d'autorisation est correctement formée, y compris la signature.
Juste pour clarifier: avez-vous fait référence à la suggestion mentionnée dans le lien ci-dessous: github.com/joltup/... Vous pouvez utiliser la bibliothèque cliente JavaScript Azure Storage pour télécharger directement la photo du client vers le stockage Azure: github.com/Azure/azure-storage-node/tree/master/browser . Consultez l'exemple ici: github.com / Azure / azure-storage-node / blob / master / browser / samp les /…