Quand je télécharge une image je ne peux pas la lire sur certains téléphones (When I download an image I can't read it on certain phones)

image

Something missing here, no filename variable...

You do not show any blocks selecting list items, which is where your screen error is coming from.

l'erreur vient quand je clique sur le bouton14.
De quelle variable vous parlez ?

j'ai des listes mais aucun rapport avec le téléchargement pour le moment, car c'est pour lire les images ?
Capture5

filename= ???

Don't use separate if statements in your Web1.GotText, use if, else if, else if

Also, it looks like you have a spelling mistake:

image

somewhere....

j'ai modifié else if correctement dans Web1.GotText.
pour la variable j'ai fais comme ça ?
Capture

et pour le message d'erreur je l'ai arrangé mais je l'ai toujours !
Capture2

Where did you change the spelling mistake, that will help you find the problem?

dans le script , "tétécgargement réussi"
mais ça ne m'aide pas beacoup, pourquoi j'ai juste "téléchargement" , il manque "réussi" ?

à moins que le changement que j'ai fais n'a aucun rapport avec ce message d'erreur ?

See here:

image

For the image upload, you do not set or test for a "reponse", that means the following tests are applied, and you have a different "reponse" value set. For every function you send to the script, set a "reponse", and test for this in your Web1.GotText.

je suis désolé mais je ne comprends pas ce que vous voulez dire "pour chaque fonction que j'envoie au script, définir une réponse" ?
c'est à dire pour les fonctions que j'ai actuellement dans le script comme "e.parameter.func == "Read" et "(e.parameter.func == "ReadData")" ?
pouvez vous me donner un exemple ?

image

image

c'est bon je n'est plus le message d'erreur et je reçois les images dans google drive, mais maintenant il faut que je récupère l' image pour l'afficher dans l'application,
et comment mettre les blocs que j'avais avant dans le bouton14 qui me permettait de modifier l'image, est ce que je les supprime ?
et pour lire l'image avec le bouton8 ?

Capture3

bouton pour sélectionner l'image
Capture2

If you look at the guide I posted earlier in this topic, you will see that there is a second script that returns the file ID of the image you upload.

You need to return this to your app and upload this using your other blocks to your spreadsheet.

The file ID can then be used to display the image directly:

Il faut un second script ?
je n'ai pas besoin de modifier mes blocs ?
avez vous une exemple concret ?

Yes

You will need to handle the responseContent which returns the file ID

Here is the script:

function doPost(e) {
    var data = Utilities.base64Decode(e.parameters.data);
    var blob = Utilities.newBlob(data, e.parameters.mimetype, e.parameters.filename);
    var fileID = DriveApp.getFolderById(<FOLDER ID HERE>).createFile(blob).getId();
    return ContentService.createTextOutput(fileID);
    }

To then view or download the uploaded image in your app use the following url:

https://drive.google.com/uc?export=download&id=<fileID>

l'URL je la mets dans le second script ? ou toute la" function doPost" ?

je n'est toujours pas de réponse à mes questions précédentes....

J'ai modifié mon script comme ça :

function doPost(e) {
var data = Utilities.base64Decode(e.parameters.data);
var blob = Utilities.newBlob(data, e.parameters.mimetype, e.parameters.filename);
var fileID = DriveApp.getFolderById('1u-C2WP_O1asjVhzzKpEdabKixlFDiWxK').createFile(blob).getId();
return ContentService.createTextOutput(fileID);

j'ai mis l'URL comme ça : https://drive.google.com/uc?export=download&id= <fileID
Capture2

et je ne sais pas comment faire avec le second script ? et pourquoi avoir un second script ?

What second script?

désolé j'ai mal compris alors pour le second script.
est ce que l'URL il faut faire comme j'ai fait avec l'étiquette "imagebrico1" qui est plus haut ?
Et est ce que je dois remplacer <fileID par un numéro de l'adresse de l'image ou je garde fileID ?

That is the idea. Send the file ID to your spreadsheet to the correct "image" location.

vous voulez dire que je dois mettre l'ID du fichier image de google drive dans la case C2 par exemple (là ou je veux les images) dans google sheet , comme ça ?

Capture4

You can, or just set the file ID there, then handle this to make the full url and show the image back in the app.