Je souhaite lire la taille d'un fichier avant de le télécharger sur S3 afin de vérifier s'il reste suffisamment de mémoire disponible. Le code suivant fonctionne. Cependant, le fichier est vide lorsqu'il est téléchargé sur S3. Si je supprime la partie qui vérifie la taille du fichier, il est téléchargé correctement. Existe-t-il un autre moyen d'obtenir la taille du fichier? Le fichier provient d'un formulaire de téléchargement d'une page HTML et je le télécharge directement sur S3 sans l'enregistrer d'abord sur le serveur.Le fichier est vide après avoir lu sa taille
availablestorage = getavailablestorage() #gets the available storage in bytes
latestfile = request.files['filetoupload'] #get the file from the HTML form
latestfile.seek(0,2)
latestsize = latestfile.tell() #this gets the size of the file
if availablestorage < latestsize:
return "No space available. Delete files."
bucketname = request.form.get('spaceforupload')
conn = boto3.client('s3')
conn.upload_fileobj(latestfile, bucketname, latestfile.filename)
return redirect(url_for('showspace', spacename=bucketname))
Parfois, c'est si simple. Je vous remercie. – user3080315