core: ProblemSubmit: fix submit_answer problem zip answer upload (#917)

Co-authored-by: undefined <i@undefined.moe>
This commit is contained in:
Baoshuoandundefined authored and GitHub committed 2024-12-14 22:36:24 +08:00
1 parent 00392f1272
commit 5ae557a95f
1 file changed
+4 -6
+4 -6
View File
@@ -496,15 +496,13 @@ export class ProblemSubmitHandler extends ProblemDetailHandler {
if (!file || file.size === 0) throw new ValidationError('code');
const sizeLimit = config.type === 'submit_answer' ? 128 * 1024 * 1024 : lengthLimit;
if (file.size > sizeLimit) throw new ValidationError('file');
const showReadFile = () => {
const shouldReadFile = () => {
if (config.type === 'objective') return true;
if (lang === '_') return true;
if (lang === '_') return false;
return file.size < lengthLimit && !file.filepath.endsWith('.zip') && !setting.langs[lang].isBinary;
};
if (showReadFile()) {
// TODO submission file shape
code = await readFile(file.filepath, 'utf-8');
} else {
if (shouldReadFile()) code = await readFile(file.filepath, 'utf-8');
else {
const id = nanoid();
await storage.put(`submission/${this.user._id}/${id}`, file.filepath, this.user._id);
files.code = `${this.user._id}/${id}#${file.originalFilename}`;