首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建用户选择的图像文件

如何创建用户选择的图像文件
EN

Stack Overflow用户
提问于 2017-10-27 17:31:17
回答 2查看 163关注 0票数 0

我正在用原生脚本开发跨平台的应用程序,我在从图库中获取用户选择的图像时遇到了问题,我使用的库返回用户选择的图像路径。这是非常容易在android中,这是我的代码为用户选择的图像创建文件,我在android中使用。

代码语言:javascript
复制
String File_Path = "/storage/emulated/0/Pictures/Screenshots/Screenshot_20171016-173404.png"
File file = new File(File_Path);

我需要创建用户选择的图像文件的原因是我需要将用户选择的图像作为文件发送到Multipar/FormData中。我试了很多方法都找不到解决方案。非常感谢您的任何建议。

谢谢

这是我的formdata示例代码

EN

回答 2

Stack Overflow用户

发布于 2017-10-27 17:54:01

使用nativescript后台http,将路径传递给此函数

代码语言:javascript
复制
viewModel.uploadImage = function (imageUrl) {
        var token = applicationSettings.getString("accessToken");
        var form = new FormData();
        form.append("file", imageUrl);

        var bghttp = require("nativescript-background-http");

        var session = bghttp.session("image-upload");

        var request = {
            url: <url>,
            method: "POST",
            headers: {
                "Content-Type": "application/octet-stream",
                "File-Name": "somename",
                "Authorization": token
            },
            description: "image for something"
        };

        var params = [
                    { name: "somename", value: "value" },
                    { name: "fileToUpload", filename: imageUrl, mimeType: 'image/jpeg' }
                ];
        let task = session.multipartUpload(params, request);
        return task;     
    }
票数 0
EN

Stack Overflow用户

发布于 2017-10-27 19:03:35

上面的答案是可行的,但是另一种选择是将所选图像转换为Base64String,并将其视为任何其他字符串。

为此,只需从文件路径创建一个新的ImageSource,然后使用提供的toBase64String方法即可。简单地传递格式(jpg、png等),您就都准备好了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46971848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档