diff --git a/packages/backend/migration/1642613870898-drive-file-webpublic-type.js b/packages/backend/migration/1642613870898-drive-file-webpublic-type.js
new file mode 100644
index 0000000000000000000000000000000000000000..e10c2ac2d202f0e5403e44b0db3d5e54dbe086c3
--- /dev/null
+++ b/packages/backend/migration/1642613870898-drive-file-webpublic-type.js
@@ -0,0 +1,13 @@
+const { MigrationInterface, QueryRunner } = require("typeorm");
+
+module.exports = class driveFileWebpublicType1642613870898 {
+    name = 'driveFileWebpublicType1642613870898'
+
+    async up(queryRunner) {
+        await queryRunner.query(`ALTER TABLE "drive_file" ADD "webpublicType" character varying(128)`);
+    }
+
+    async down(queryRunner) {
+        await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "webpublicType"`);
+    }
+}
diff --git a/packages/backend/src/models/entities/drive-file.ts b/packages/backend/src/models/entities/drive-file.ts
index 0af52d7cc0f847fc84da69ca40341d2305c31f5e..cec86880f5a2a5c6ac3d95f4734dbbea361daee0 100644
--- a/packages/backend/src/models/entities/drive-file.ts
+++ b/packages/backend/src/models/entities/drive-file.ts
@@ -101,6 +101,11 @@ export class DriveFile {
 	})
 	public webpublicUrl: string | null;
 
+	@Column('varchar', {
+		length: 128, nullable: true,
+	})
+	public webpublicType: string | null;
+
 	@Index({ unique: true })
 	@Column('varchar', {
 		length: 256, nullable: true,
diff --git a/packages/backend/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts
index 1153cf73750d94e7953e491309f42983b240baf6..6ac4f6d11d4310764c686cd2fad47aacc4ad262a 100644
--- a/packages/backend/src/services/drive/add-file.ts
+++ b/packages/backend/src/services/drive/add-file.ts
@@ -101,6 +101,7 @@ async function save(file: DriveFile, path: string, name: string, type: string, h
 		file.accessKey = key;
 		file.thumbnailAccessKey = thumbnailKey;
 		file.webpublicAccessKey = webpublicKey;
+		file.webpublicType = alts.webpublic?.type ?? null;
 		file.name = name;
 		file.type = type;
 		file.md5 = hash;
@@ -135,6 +136,7 @@ async function save(file: DriveFile, path: string, name: string, type: string, h
 		file.accessKey = accessKey;
 		file.thumbnailAccessKey = thumbnailAccessKey;
 		file.webpublicAccessKey = webpublicAccessKey;
+		file.webpublicType = alts.webpublic?.type ?? null;
 		file.name = name;
 		file.type = type;
 		file.md5 = hash;