Zhofang commited on
Commit
ee1427b
·
verified ·
1 Parent(s): 1049aa6

Update temp.js

Browse files
Files changed (1) hide show
  1. temp.js +46 -49
temp.js CHANGED
@@ -1,65 +1,62 @@
1
  const express = require('express');
2
  const { v4: uuidv4 } = require('uuid');
3
  const MemoryFS = require('memory-fs');
4
- const http = require('http'); // Import http
5
  const fs = require('fs');
6
 
7
-
8
  const app = express();
9
  const memFs = new MemoryFS();
10
- const port = process.env.PORT || 7860; // Ambil port dari env atau default
11
-
12
- const server = http.createServer(app);
13
 
 
14
 
15
  app.put('/:filename', (req, res) => {
16
- const shortId = uuidv4().slice(0, 5); // Menghasilkan ID pendek
17
- const filename = req.params.filename;
18
- const filepath = `/${shortId}-${filename}`;
19
- const chunks = [];
20
-
21
- req.on('data', chunk => {
22
- chunks.push(chunk);
23
- });
24
-
25
- req.on('end', () => {
26
- const fileBuffer = Buffer.concat(chunks);
27
- memFs.writeFileSync(filepath, fileBuffer);
28
-
29
- const protocol = req.protocol; // Mengambil protokol dari request (http atau https)
30
- let host = req.get('host'); // Mengambil host dari request
31
- let filePort = protocol === 'https' ? 443 : 80; // Default port untuk http dan https
32
- if (host.includes(':')) {
33
- [host, filePort] = host.split(':');
34
- }
35
-
36
- const fileUrl = `${protocol}://${host}:${filePort}/${shortId}/${filename}`;
37
- res.send(`Uploaded 1 file, ${fileBuffer.length} bytes\n\nwget ${fileUrl}\n`);
38
-
39
- // Hapus file setelah 24 jam
40
- setTimeout(() => {
41
- memFs.unlinkSync(filepath);
42
- }, 24 * 60 * 60 * 1000); // 24 jam dalam milidetik
43
- });
44
-
45
- req.on('error', (err) => {
46
- console.error(`Error receiving file: ${err}`);
47
- res.status(500).send('Error uploading file.');
48
- });
 
49
  });
50
 
51
  app.get('/:id/:filename', (req, res) => {
52
- const filepath = `/${req.params.id}-${req.params.filename}`;
53
- try {
54
- const fileBuffer = memFs.readFileSync(filepath);
55
- res.setHeader('Content-Disposition', `attachment; filename="${req.params.filename}"`);
56
- res.send(fileBuffer);
57
- } catch (err) {
58
- console.error(`Error downloading file: ${err}`);
59
- res.status(404).send('File not found.');
60
- }
61
  });
62
 
63
- server.listen(port, () => {
64
- console.log(`Server is running on port: ${port}`);
65
  });
 
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
+ const port = process.env.PORT || 7860;
10
 
11
  app.put('/:filename', (req, res) => {
12
+ const shortId = uuidv4().slice(0, 5); // Menghasilkan ID pendek
13
+ const filename = req.params.filename;
14
+ const filepath = `/${shortId}-${filename}`;
15
+ const chunks = [];
16
+
17
+ req.on('data', chunk => {
18
+ chunks.push(chunk);
19
+ });
20
+
21
+ req.on('end', () => {
22
+ const fileBuffer = Buffer.concat(chunks);
23
+ memFs.writeFileSync(filepath, fileBuffer);
24
+
25
+ const protocol = req.protocol;
26
+ let host = req.get('host');
27
+ let path = req.path;
28
+
29
+ if (host.includes(':')) {
30
+ host = host.split(':')[0];
31
+ }
32
+
33
+ const fileUrl = `${protocol}://${host}/${shortId}/${filename}`;
34
+ res.send(`Uploaded 1 file, ${fileBuffer.length} bytes\n\nwget ${fileUrl}\n`);
35
+
36
+ // Hapus file setelah 24 jam
37
+ setTimeout(() => {
38
+ memFs.unlinkSync(filepath);
39
+ }, 24 * 60 * 60 * 1000); // 24 jam dalam milidetik
40
+ });
41
+
42
+ req.on('error', (err) => {
43
+ console.error(`Error receiving file: ${err}`);
44
+ res.status(500).send('Error uploading file.');
45
+ });
46
  });
47
 
48
  app.get('/:id/:filename', (req, res) => {
49
+ const filepath = `/${req.params.id}-${req.params.filename}`;
50
+ try {
51
+ const fileBuffer = memFs.readFileSync(filepath);
52
+ res.setHeader('Content-Disposition', `attachment; filename="${req.params.filename}"`);
53
+ res.send(fileBuffer);
54
+ } catch (err) {
55
+ console.error(`Error downloading file: ${err}`);
56
+ res.status(404).send('File not found.');
57
+ }
58
  });
59
 
60
+ app.listen(port, () => {
61
+ console.log(`Server is running on port: ${port}`);
62
  });