В настоящее время я пытаюсь скопировать содержимое файла в другой файл с помощью Node.js с помощью функций fs.createWriteStream и fs.createReadStream .
Если быть более точным, файл представляет собой музыкальный образец, который я хотел бы скопировать.Кроме того, я ожидаю, что полученный файл будет читаться плеером, как любая музыка или видео.Это последний момент, который мне не удается выполнить.Файлы действительно дублируются, но полученный файл не воспринимается моим проигрывателем как читаемый файл, например, если он каким-либо образом поврежден.
Я проверил его содержимое, и там, похоже, это не имеет значениялогика программирования, поскольку данные исходного файла были правильно перенесены в копию.Вот мой сценарий, если вы хотите взглянуть.
const express = require('express')
const app = express()
const fs = require("fs")
var Promise = require("bluebird")
Promise.promisifyAll(fs)
const path = require('path')
const file1 = path.join(__dirname, 'sample1.wav') // The file to copy
const file2 = path.join(__dirname, 'sample2.wav') // The destination of the new file
app.use(async(req,res,next)=>{
let file1_stream = await fs.createReadStream(file1)
let file2_stream = await fs.createWriteStream(file2)
file2_stream.pipe(file2_stream)
next()
})
.listen(8080)
Я предполагаю, что операция не так проста, как простое копирование потока и внедрение его с помощью канала, как показано выше.если кто-то имеет представление о том, что мне здесь не хватает, я весь в ушах.Заранее спасибо.