onlyoffice filename corrupted after editing (#686)
Fix #683 Filename handling is going to be worth a major refactor
This commit is contained in:
@@ -94,6 +94,10 @@ async function report(platform: TdrivePlatform, args: ListArguments) {
|
||||
` - ${formatTS(version.date_added)} by ${await formatUser(version.creator_id)}`,
|
||||
);
|
||||
console.error(` - id: ${version.id}`);
|
||||
if (dfile.name != version.filename)
|
||||
console.error(` - filename: ${JSON.stringify(version.filename)}`);
|
||||
if (dfile.name != version.file_metadata.name)
|
||||
console.error(` - meta.name: ${JSON.stringify(version.file_metadata.name)}`);
|
||||
console.error(
|
||||
` - size: ${version.file_metadata.size} (${
|
||||
version.file_metadata.size > previousSize ? "+" : ""
|
||||
|
||||
@@ -1150,7 +1150,15 @@ export class DocumentsService {
|
||||
}
|
||||
|
||||
if (file) {
|
||||
const fileEntity = await globalResolver.services.files.save(null, file, options, context);
|
||||
const fileEntity = await globalResolver.services.files.save(
|
||||
null,
|
||||
file,
|
||||
{
|
||||
...options,
|
||||
filename: options.filename ?? driveFile.name,
|
||||
},
|
||||
context,
|
||||
);
|
||||
|
||||
await globalResolver.services.documents.documents.createVersion(
|
||||
driveFile.id,
|
||||
@@ -1160,6 +1168,7 @@ export class DocumentsService {
|
||||
file_metadata: {
|
||||
external_id: fileEntity.id,
|
||||
source: "internal",
|
||||
name: file.filename ?? driveFile.name,
|
||||
},
|
||||
},
|
||||
context,
|
||||
@@ -1186,8 +1195,14 @@ export class DocumentsService {
|
||||
)}`,
|
||||
);
|
||||
} catch (error) {
|
||||
logger.error({ error: `${error}` }, "Failed to cancel editing Drive item");
|
||||
CrudException.throwMe(error, new CrudException("Failed to cancel editing Drive item", 500));
|
||||
logger.error(
|
||||
{ error: `${error}` },
|
||||
`Failed to ${keepEditing ? "update" : "end"} editing Drive item`,
|
||||
);
|
||||
CrudException.throwMe(
|
||||
error,
|
||||
new CrudException(`Failed to ${keepEditing ? "update" : "end"} editing Drive item`, 500),
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -422,7 +422,7 @@ export class DocumentsController {
|
||||
totalChunks: parseInt(q.resumableTotalChunks || q.total_chunks) || 1,
|
||||
totalSize: parseInt(q.resumableTotalSize || q.total_size) || 0,
|
||||
chunkNumber: parseInt(q.resumableChunkNumber || q.chunk_number) || 1,
|
||||
filename: q.resumableFilename || q.filename || file?.filename || undefined,
|
||||
filename: q.filename || undefined,
|
||||
type: q.resumableType || q.type || file?.mimetype || undefined,
|
||||
waitForThumbnail: !!q.thumbnail_sync,
|
||||
ignoreThumbnails: false,
|
||||
|
||||
Reference in New Issue
Block a user