首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nativescript:如何从文件路径创建JS File对象?

Nativescript:如何从文件路径创建JS File对象?
EN

Stack Overflow用户
提问于 2019-05-09 05:32:32
回答 1查看 243关注 0票数 0

我正在使用nativescript-imagepicker插件从手机图库中选择图片。这个插件允许我获取的内容之一是文件的路径。

我需要能够上传这个选定的文件到服务器,使用表单数据。为此,我需要首先创建一个文件对象。

如何使用文件路径创建文件对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-09 06:03:14

对于从图片库上传图像,我强烈建议使用Nativescsript background http。要将图像上传到服务器,您必须将它们保存在应用程序中,以便可以上传。我遵循了这里所示的示例Upload example

一旦您在本地保存了图像,如果您需要额外的数据,您将需要使用multipartUpload并构造一个如下所示的请求。

代码语言:javascript
复制
let BackgroundHTTP = require('nativescript-background-http')
let session = BackgroundHTTP.session('some unique session id')
let request: {
    url: 'your.url.to/upload/images',
    method: 'POST',
    headers: {
        'Content-Type': 'application/octet-stream'
    }
    description: 'Uploading local images to the server'
}

//photos should have at least the filename from when you saved it locally.
let params = []
photos.forEach(photo => {
    params.push({name: photo.name, filename: photo.filename, value: 'ANY STRING DATA YOU NEED'})
}

let task = session.multipartUpload(params, request)

task.on('progress', evt => {
    console.log('upload progress: ' + ((evt.currentBytes / evt.totalBytes) * 100).toFixed(1) + '%')
}

task.on('error', evt => {
    console.log('upload error')
    console.log(evt)
}

task.on('complete', evt => {
    //this does not mean the server had a positive response
    //but the images hit the server.
    // use evt.responseCode to determine the status of request
    console.log('upload complete, status: ' + evt.responseCode)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56049340

复制
相关文章

相似问题

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