Czy tworzenie plików z buferu działa w porządany sposób

Hej już tłumaczę ten dziwny tytuł xd

Potrzebowałem ostatnio w sealiousie stworzyć plik z istniejącego bufera i doświaczyłem taki problem (?)

const fl = await File.fromData(ctx.$app, res);
try {
	const resp = await ctx.$app.collections.Pdf.create(
		new SuperContext(ctx.$app),
		{
			file: fl,
		}
	);

	resolve(resp);
} catch (e) {
	reject(e);
}

Stworzenie takiego pliku wyrzucało mi błąd, że plik nie ma nazwy i dopiero po takim kodzie

const fl = await File.fromData(ctx.$app, res);
fl.filename = `nazwa.pdf`;
try {
	const resp = await ctx.$app.collections.Pdf.create(
		new SuperContext(ctx.$app),
		{
			file: fl,
		}
	);

	resolve(resp);
} catch (e) {
	reject(e);
}

plik się zapisał w bazie. Wydaje mi się to nieco dziwną składnią i stąd moje pytanie. Czy jest to porządane zachowanie, a jeśli tak to czy istnieje ładniejszy sposób na stworzenie tego pliku np const fl = await File.fromData(ctx.$app, res, "nazwa.pdf")?

1 Like

Nice catch! Tak, metoda fromData powinna przyjmować argument z nazwą pliku, chociażby opcjonalny. Zaakceptowałbym diffa, który to implementuje :wink: Patrząc po kodzie tej metody, to nie będzie dużo pisania

Jest na to jakiś task czy trzeba najpierw stworzyć?

Nie ma na to taska - możesz utworzyć jakiegoś minimalnego taska, zalinkować w nim do tego wątku, i podrzucić linka do tego taska tutaj :slight_smile:

O, widzę, że task już jest - dla porządku podlinkuję: T2588