Zhofang commited on
Commit
40bed98
·
verified ·
1 Parent(s): 55a527b

Create temp.js

Browse files
Files changed (1) hide show
  1. temp.js +52 -0
temp.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require('express');
2
+ const { v4: uuidv4 } = require('uuid');
3
+ const MemoryFS = require('memory-fs');
4
+ const fs = require('fs');
5
+
6
+ const app = express();
7
+ const memFs = new MemoryFS();
8
+
9
+ app.put('/:filename', (req, res) => {
10
+ const shortId = uuidv4().slice(0, 5); // Menghasilkan ID pendek
11
+ const filename = req.params.filename;
12
+ const filepath = `/${shortId}-${filename}`;
13
+ const chunks = [];
14
+
15
+ req.on('data', chunk => {
16
+ chunks.push(chunk);
17
+ });
18
+
19
+ req.on('end', () => {
20
+ const fileBuffer = Buffer.concat(chunks);
21
+ memFs.writeFileSync(filepath, fileBuffer);
22
+
23
+ const fileUrl = `https://zhofang-temp-storage.hf.space/${shortId}/${filename}`;
24
+ res.send(`Uploaded 1 file, ${fileBuffer.length} bytes\n\nwget ${fileUrl}\n`);
25
+
26
+ // Hapus file setelah 24 jam
27
+ setTimeout(() => {
28
+ memFs.unlinkSync(filepath);
29
+ }, 24 * 60 * 60 * 1000); // 24 jam dalam milidetik
30
+ });
31
+
32
+ req.on('error', (err) => {
33
+ console.error(`Error receiving file: ${err}`);
34
+ res.status(500).send('Error uploading file.');
35
+ });
36
+ });
37
+
38
+ app.get('/:id/:filename', (req, res) => {
39
+ const filepath = `/${req.params.id}-${req.params.filename}`;
40
+ try {
41
+ const fileBuffer = memFs.readFileSync(filepath);
42
+ res.setHeader('Content-Disposition', `attachment; filename="${req.params.filename}"`);
43
+ res.send(fileBuffer);
44
+ } catch (err) {
45
+ console.error(`Error downloading file: ${err}`);
46
+ res.status(404).send('File not found.');
47
+ }
48
+ });
49
+
50
+ app.listen(7860, () => {
51
+ console.log('Server is running on idk just guess it');
52
+ });