Nativescript - перезапись файловой системы не работает на Android - PullRequest
0 голосов
/ 09 ноября 2018

Я новичок в NativeScript.

Я использую nativescript-plugin-firebase, чтобы загрузить фотографию пользователя и сохранить ее в /data/user/0/{APP_ID}/files/telerik-logo-downloaded.png.

Собственный API Firebase Storage Пример:

var fs = require("tns-core-modules/file-system");

// let's first determine where we'll create the file using the 'file- system' module
var documents = fs.knownFolders.documents();
var logoPath = documents.path + "/telerik-logo-downloaded.png";

// this will create or overwrite a local file in the app's documents folder
var localLogoFile = documents.getFile("telerik-logo-downloaded.png");

// now download the file with either of the options below:
firebase.storage.downloadFile({
  bucket: 'gs://n-plugin-test.appspot.com',
  remoteFullPath: 'uploads/images/telerik-logo-uploaded.png',
  localFile: fs.File.fromPath(logoPath),
  localFullPath: logoPath
}).then(
  function (uploadedFile) {
    console.log("File downloaded to the requested location");
  },
  function (error) {
    console.log("File download error: " + error);
  }
);

Когда есть изменение (например, пользователь загружает новую фотографию), я буду загружать фотографию с помощью Firebase Storage Native API и перезаписывать существующую.

var localLogoFile = documents.getFile("telerik-logo-downloaded.png");

этот код выше должен перезаписывать локальный файл, если он существует.

В результате новая фотография будет показана на iOS, но не на Android. Для Android это все еще старая фотография.

Может кто-нибудь помочь? Спасибо ~

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

С Android изображение не будет обновлено, если это снова тот же URL. Попробуйте установить источник изображения на null, а затем снова установить его на свой путь.

0 голосов
/ 09 ноября 2018

Полагаю, ваша проблема в том, как вы загружаете imageSource.

Это уже должно перезаписать файл, попробуйте это

img.src = imageSource.fromFile(logoPath)

вместо

img.src = logoPath

Надеюсь, это поможет! Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...