Я хочу сохранить изображение с URL-адреса в Интернете на устройство. Кто-нибудь может помочь?
Я пытался использовать модуль imageSource, но он говорит только об изображениях с локального устройства.
NativeScript-vue Сохранить изображение с URL-адреса
comment
Вы можете написать API, чтобы вернуть ваше изображение в виде base64string в json, и ваше приложение будет сохранять данные, используя настройки приложения.
- person Baskar Rao   schedule 18.10.2018
comment
Вы хотите показать это изображение в HTML-коде вашего компонента?
- person Narendra   schedule 18.10.2018
Ответы (2)
const imageSourceModule = require("tns-core-modules/image-source");
const fileSystemModule = require("tns-core-modules/file-system");
imageSourceModule.fromUrl(webURL).then((res) => {
const folderDest = fileSystemModule.knownFolders.currentApp();
const pathDest = fileSystemModule.path.join(folderDest.path, "test.png");
const saved = res.saveToFile(pathDest, "png");
if (saved) {
console.log("Image saved successfully!");
this.image = imageSourceModule.fromFile(pathDest);
}
спасибо @Narendra Mongiya за первый ответ, который помог получить изображение с URL-адреса
person
Nsagha Kingsly
schedule
19.10.2018
Приятно знать, что @Nsagha! Если вы отметите это как принятый ответ и проголосуете, это может быть полезно для других. Удачного кодирования !!
- person Narendra; 19.10.2018
Хорошо сделаю это
- person Nsagha Kingsly; 19.10.2018
Вот каким должен быть ваш код (я предполагаю, что ваш веб-URL возвращает jpg/png и т. д.)
const imageSource = require('image-source');
imageSource.fromUrl(webURL).then((res: any) => {
this.imageUrl = res;
}).catch(err => {
this.imageUrl = this.getIconSource('default_image');
});
и в html файле
<Image [src]="imageUrl" loadMode="async"></Image>
и для изображений по умолчанию, если URL-адрес возвращается пустым
public getIconSource(icon: string): string {
return isAndroid ? `res://${icon}` : 'res://images/' + icon;
}
person
Narendra
schedule
18.10.2018
Большое спасибо, он получает изображение, но я не знаю, где и сохраняется ли изображение на устройстве, пожалуйста, уточните меня в этой части, спасибо еще раз
- person Nsagha Kingsly; 18.10.2018