我是 React Native 的新手。我想在我的 react 本机应用程序中添加一个功能,用于下载和保存种子文件。我已经知道如何在 nodejs 中使用 webtorrent 做到这一点,但不知道如何在 react native 中实现它。
这是nodejs代码
const WebTorrent = require('webtorrent')
const fs = require('fs')
const torrentId = 'magnet:?xt=urn:btih:D448523AFAFC571D7FA5C58078E9AD8C5D09DD7F&dn=Jimmy+Fallon+2022+02+25+Uma+Thurman+720p+HEVC+x265-MeGusta&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.dler.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce&tr=udp%3A%2F%2F47.ip-51-68-199.eu%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2F9.rarbg.to%3A2920%2Fannounce&tr=udp%3A%2F%2Ftracker.pirateparty.gr%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.cyberia.is%3A6969%2Fannounce'
console.log('Torrent id: \t' + torrentId)
const client = new WebTorrent()
client.add(torrentId, torrent => {
const files = torrent.files
let length = files.length
console.log('Number of files:- \t' + length)
let interval = setInterval(() => {
console.log("Progress: " + (torrent.progress * 100).toFixed() + "%")
}, 5000)
files.forEach(file => {
console.log(file)
const source = file.createReadStream()
const destination = fs.createWriteStream(file.name)
source.on('end', () => {
console.log('file \t\t', file.name)
length -= 1
if (length) clearInterval(interval)
}).pipe(destination)
})
})