Spaces:
Runtime error
Runtime error
Update index.js
Browse files
index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
const express = require('express');
|
| 2 |
const multer = require('multer');
|
| 3 |
-
|
|
|
|
| 4 |
const fs = require('fs');
|
| 5 |
require('dotenv').config();
|
| 6 |
|
|
@@ -165,8 +166,8 @@ app.post('/api/upload', upload.single('file'), async (req, res) => {
|
|
| 165 |
// Hapus file transit di lokal (/tmp/) agar tidak penuh
|
| 166 |
fs.unlinkSync(filePath);
|
| 167 |
|
| 168 |
-
//
|
| 169 |
-
const fileId = downloadLink.split('/file/')[1];
|
| 170 |
|
| 171 |
res.json({
|
| 172 |
success: true,
|
|
@@ -184,8 +185,12 @@ app.post('/api/upload', upload.single('file'), async (req, res) => {
|
|
| 184 |
app.get('/cdn/:fileIdAndKey', async (req, res) => {
|
| 185 |
try {
|
| 186 |
const fullId = req.params.fileIdAndKey;
|
| 187 |
-
const targetUrl = `https://mega.nz/file/${fullId}`;
|
| 188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
const file = File.fromURL(targetUrl);
|
| 190 |
await file.loadAttributes();
|
| 191 |
|
|
|
|
| 1 |
const express = require('express');
|
| 2 |
const multer = require('multer');
|
| 3 |
+
// PERBAIKAN 1: Pastikan 'File' di-import dengan benar dari megajs
|
| 4 |
+
const { Storage, File } = require('megajs');
|
| 5 |
const fs = require('fs');
|
| 6 |
require('dotenv').config();
|
| 7 |
|
|
|
|
| 166 |
// Hapus file transit di lokal (/tmp/) agar tidak penuh
|
| 167 |
fs.unlinkSync(filePath);
|
| 168 |
|
| 169 |
+
// PERBAIKAN 2: Mengubah karakter '#' menjadi '-' agar aman dilewati via URL Express
|
| 170 |
+
const fileId = downloadLink.split('/file/')[1].replace('#', '-');
|
| 171 |
|
| 172 |
res.json({
|
| 173 |
success: true,
|
|
|
|
| 185 |
app.get('/cdn/:fileIdAndKey', async (req, res) => {
|
| 186 |
try {
|
| 187 |
const fullId = req.params.fileIdAndKey;
|
|
|
|
| 188 |
|
| 189 |
+
// PERBAIKAN 3: Kembalikan karakter '-' menjadi '#' untuk menyusun URL asli MEGA
|
| 190 |
+
const correctedId = fullId.replace('-', '#');
|
| 191 |
+
const targetUrl = `https://mega.nz/file/${correctedId}`;
|
| 192 |
+
|
| 193 |
+
// Memanggil fungsi File dari megajs secara benar
|
| 194 |
const file = File.fromURL(targetUrl);
|
| 195 |
await file.loadAttributes();
|
| 196 |
|