gpt4 book ai didi

Nativescript imagepicker .getImage() is not a function 错误

转载 作者:行者123 更新时间:2023-12-05 07:33:20 25 4
gpt4 key购买 nike

我一直在努力实现这个 question 的答案但不断收到错误“selected.getImage 不是函数”。

此时我已经尝试了多个不同的代码示例,但我被难住了。这似乎是一个类型错误,但我不确定在哪里可以更正它。

我希望选择一个图像并返回该图像的路径以便上传到服务器。我不需要在设备上显示它,尽管我想这是一个选项。看起来很简单,但显然我遗漏了一些东西。

我使用的是 v. 6.0.1 或 imagepicker 插件。我会引用代码,但此时我使用的是 Shiva Prasad 在上述问题中提供的确切示例。

根据 Max Vollmer 添加代码:

var context = imagepickerModule.create({
mode: "single" // allow choosing single image
});
context
.authorize()
.then(function () {
return context.present();
})
.then(function (selection) {
console.log("Selection done:");
setTimeout(() => {
selection.forEach(function (selected) {
selected.getImage().then((source) => {
console.log(selected.fileUri); // this is the uri you need
});
});
}, 1000);
}).catch(function (e) {
console.log(e);
});

最佳答案

我昨天遇到了完全相同的错误。

我直接在“selected”上使用 fromAsset 函数,因为显然对于这个插件的新版本,“selected”是一个 Assets 。所以你得到了一个 imageSource,你可以使用“saveToFile”函数将 Assets 复制到一个新位置(使用 TNS 的 fileSystemModule 获取这个位置)。将这个新位置的路径用于您的 UI,图像就会出现。您还可以从此位置创建文件对象 fileSystemModule.File.fromPath(path);,我用于上传。

context
.authorize()
.then(function () {
return context.present();
})
.then(function (selection) {
selection.forEach(function (selected) {

let file;

if (selected._android) {

file = fileSystemModule.File.fromPath(selected._android);
//viewModel.uploadFile(file);

}else{

imageSourceModule.fromAsset(selected).then((imageSource) => {

const folder = fileSystemModule.knownFolders.documents().path;
const fileName = "Photo.png";
const path = fileSystemModule.path.join(folder, fileName);
const saved = imageSource.saveToFile(path, "png");

if (saved) {
console.log("Image saved successfully!");
file = fileSystemModule.File.fromPath(path);
//viewModel.uploadFile(file);
}else{
console.log("Error! - image couldnt save.");
}
});
}
});
}).catch(function (e) {
console.log(e);
// process error
});

解释

未注释的代码段 (//viewModel.uploadFile(file);)、viewModel 引用(在您的应用中会有所不同)和函数:uploadFile 例如,您可以在其中传递文件以上传文件或将其设置为 image.src

确保在顶部声明 imageSourceModule

const imageSourceModule = require("tns-core-modules/image-source");

关于Nativescript imagepicker .getImage() is not a function 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50649470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com