nativescript-tus-client
NativeScript 插件用于 TUS - 可暂停文件上传的开放协议。
npm i --save nativescript-tus-client

nativescript-tus-client

NativeScript 插件用于 TUS - 可暂停文件上传的开放协议。使用 TUSKit (iOS)tus-android-client

iOS Android
iOS demo Android demo

安装

tns plugin add nativescript-tus-client

使用

import { File, Folder, knownFolders } from "@nativescript/core";
import * as tus from "nativescript-tus-client";

// create a File reference
const file = File.fromPath(knownFolders.currentApp().path + 'assets/test_image.png');

// Create a new tus upload
var upload = new tus.Upload(file, {
endpoint: "http://192.168.1.118:1080/files/",
metadata: {
filename: 'test_image.png',
filetype: 'image/png'
},
headers: {
Authorization: "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
onError: function(error) {
console.log("Failed because: " + error)
},
onProgress: function(bytesUploaded, bytesTotal) {
var percentage = (bytesUploaded / bytesTotal * 100).toFixed(2)
console.log(bytesUploaded, bytesTotal, percentage + "%")
},
onSuccess: function() {
console.log(`Download ${upload.file.name} from ${upload.url}` )
}
})

// Start the upload
upload.start()

// Abort the upload
upload.abort()

API

nativesctipt-tus-plugin 实现了 JS API 的一个非常有限的子集。请参考上面的示例,因为它包含了所有实现的 API。

测试服务器

我们包含了一个 tus 测试服务器。请记住在 test-server/index.js 中更改主机。

const host = '192.168.1.118';

然后

cd test-server
npm run start

您还需要在 demo/app/home/home-page.ts 中的演示应用程序中更改主机。

鸣谢

非常感谢 coderReview 通过他的 nativescript-tus-upload 为我们指明了方向。

许可证

Apache 许可证版本 2.0,2004 年 1 月