dans Android 5.x (Lollipop), doit inclure: - Créer un fichier vide pour ‘destinationFilename’ avant d'utiliser FileOutputStream pour éviter de jeter IOException! ne fonctionne pas pour Google Drive Uri Ne fonctionne pas sur api26
Si l'Uri est reçu à partir de Google Drive, il peut être un Fichier Virtuel Uri trop. Cochez cette article de CommonsWare pour plus d'informations. Donc, vous avez à considérer que la condition de trop, tout en économisant de fichier à partir de l'Uri.
À trouver si l'Uri du fichier est virtuel ou pas, vous pouvez utiliser
2.Créez un autre Fichier dans lequel vous souhaitez enregistrer le fichier enregistrer sous:
File to =newFile("target file path");
3.Renommer le fichier en tant que:
from.renameTo(to);
Avec ce fichier à partir du chemin d'accès par défaut est automatiquement supprimé et créé à la nouvelle voie.
Gurmeet, Si je dois conserver le fichier existant, puis la façon de procéder? J'ai besoin de créer un nouveau fichier ou un duplicata. Ensuite, vous avez besoin d'une copie de fichier.Voici la stackoverflow liens internes montrant la copie de fichier. uri.toString et de l'uri.toPath() ne fonctionne pas toujours, surtout avec la galerie. Je soupçonne l'aide de inputstreams est le chemin à parcourir.
Salut, serait - destination être l'ensemble de la File chemin, y compris le nom de fichier? Ou tout simplement le nom du répertoire/chemin? La Destination est le type de File désignant la totalité du fichier avec son nom. En utilisant ce code j'obtiens java.io.FileNotFoundException: /document/image:18019: open failed: ENOENT (No such file or directory) l'exception parle de lui-même. Il parle, que votre code ne fonctionne pas avec URI renvoyé par la Intent ouverture de la galerie pour choisir une image. Au moins, il n'a pas travaillé pour moi et probablement quelqu'un qui a voté mon commentaire. Je l'ai testé avec Android 5.1.1.
Utiliser cette méthode, il fonctionne
ne fonctionne pas pour Google Drive Uri
Ne fonctionne pas sur api26
OriginalL'auteur Shiva
buffer[]
nécessaire? Est que spécifiques à l'enregistrement d'unUri
?OriginalL'auteur PKV
Si l'Uri est reçu à partir de Google Drive, il peut être un Fichier Virtuel Uri trop. Cochez cette article de CommonsWare pour plus d'informations. Donc, vous avez à considérer que la condition de trop, tout en économisant de fichier à partir de l'Uri.
À trouver si l'Uri du fichier est virtuel ou pas, vous pouvez utiliser
Vous pouvez obtenir le flux de données à partir de ce fichier virtuel comme ceci:
Pour trouver type MIME essayer
Dans l'ensemble, vous pouvez utiliser
Appeler cette méthode à partir d'un AsycTask. Laissez-moi savoir si cela aide.
OriginalL'auteur Ankur
1.Créer un fichier à partir d'un chemin de l'URI:
2.Créez un autre Fichier dans lequel vous souhaitez enregistrer le fichier enregistrer sous:
3.Renommer le fichier en tant que:
Avec ce fichier à partir du chemin d'accès par défaut est automatiquement supprimé et créé à la nouvelle voie.
Ensuite, vous avez besoin d'une copie de fichier.Voici la stackoverflow liens internes montrant la copie de fichier.
uri.toString et de l'uri.toPath() ne fonctionne pas toujours, surtout avec la galerie. Je soupçonne l'aide de inputstreams est le chemin à parcourir.
OriginalL'auteur AppMobiGurmeet
Voici la méthode la plus simple et la plus propre:
destination
être l'ensemble de laFile
chemin, y compris le nom de fichier? Ou tout simplement le nom du répertoire/chemin?La Destination est le type de
File
désignant la totalité du fichier avec son nom.En utilisant ce code j'obtiens
java.io.FileNotFoundException: /document/image:18019: open failed: ENOENT (No such file or directory)
l'exception parle de lui-même.
Il parle, que votre code ne fonctionne pas avec
URI
renvoyé par laIntent
ouverture de la galerie pour choisir une image. Au moins, il n'a pas travaillé pour moi et probablement quelqu'un qui a voté mon commentaire. Je l'ai testé avec Android 5.1.1.OriginalL'auteur Ε Г И І И О