Changeset f926d13 in Klonkt for src/routes/posts.js
- Timestamp:
- 08/13/2026 07:37:56 PM (4 weeks ago)
- Branches:
- main
- Children:
- 47db4b5
- Parents:
- 822d16d
- File:
-
- 1 edited
-
src/routes/posts.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/posts.js
r822d16d rf926d13 1294 1294 const { followingCsv } = await import('../services/ArchiveExportService.js'); 1295 1295 const csv = site ? followingCsv(site.slug) : null; 1296 if (!csv) return res.redirect('/ following?error=' + encodeURIComponent('Je volgt nog niemand'));1296 if (!csv) return res.redirect('/connect?error=' + encodeURIComponent('Je volgt nog niemand')); 1297 1297 res.set('Content-Type', 'text/csv; charset=utf-8'); 1298 1298 res.set('Content-Disposition', `attachment; filename="following-${site.slug}.csv"`); … … 1302 1302 }); 1303 1303 1304 router.post('/news/following/import', requireSiteManager, express.urlencoded({ extended: false, limit: '256kb' }), async (req, res) => { 1305 const site = res.locals.site; 1306 const csv = (req.body && req.body.csv) || ''; 1307 if (!site || !String(csv).trim()) return res.redirect('/following?error=' + encodeURIComponent('Geen lijst ontvangen')); 1304 // Een bestand OF geplakte tekst. Multer leest een multipart-formulier, en dat 1305 // bevat allebei: het bestandsveld en het tekstveld. In het geheugen, niet op 1306 // schijf: dit is een lijstje adressen van een paar kilobyte dat na het lezen 1307 // niets meer te zoeken heeft op de server. 1308 const followingCsvUpload = multer({ 1309 storage: multer.memoryStorage(), 1310 limits: { fileSize: 512 * 1024, files: 1 }, 1311 }).single('csvfile'); 1312 1313 router.post('/news/following/import', requireSiteManager, followingCsvUpload, async (req, res) => { 1314 const site = res.locals.site; 1315 // Een geupload bestand wint van het plakveld: wie een bestand kiest bedoelt dat. 1316 const csv = (req.file && req.file.buffer) 1317 ? req.file.buffer.toString('utf8').replace(/^/, '') // BOM eraf; Excel zet die erin 1318 : ((req.body && req.body.csv) || ''); 1319 if (!site || !String(csv).trim()) return res.redirect('/connect?error=' + encodeURIComponent('Geen lijst ontvangen')); 1308 1320 1309 1321 const { importFollowing } = await import('../services/ArchiveImportService.js'); … … 1326 1338 delen.push(`${r.mislukt.length} mislukt (${namen}${r.mislukt.length > 3 ? '…' : ''})`); 1327 1339 } 1328 res.redirect('/following?' + (r.mislukt.length ? 'error=' : 'success=') + encodeURIComponent(delen.join(', '))); 1340 // Terug naar /connect: daar staat het blok, /following is de oude pagina. 1341 res.redirect('/connect?' + (r.mislukt.length ? 'error=' : 'success=') + encodeURIComponent(delen.join(', '))); 1329 1342 }); 1330 1343
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)