mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	Support SVG (#3883)
* Update add-file.ts * Update package.json * Revert "Update add-file.ts" This reverts commit ba0fe83b54a44493447208dfb3cc304a60df6fdd. * Update add-file.ts * Update package.json * Update add-file.ts * Update add-file.ts * Create image.svg * Update api.ts
This commit is contained in:
		
							parent
							
								
									00d5fdfc13
								
							
						
					
					
						commit
						018837db0b
					
				
					 4 changed files with 21 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -43,6 +43,7 @@
 | 
			
		|||
		"@types/gulp-uglify": "3.0.6",
 | 
			
		||||
		"@types/gulp-util": "3.0.34",
 | 
			
		||||
		"@types/is-root": "1.0.0",
 | 
			
		||||
		"@types/is-svg": "3.0.0",
 | 
			
		||||
		"@types/is-url": "1.2.28",
 | 
			
		||||
		"@types/js-yaml": "3.11.4",
 | 
			
		||||
		"@types/katex": "0.5.0",
 | 
			
		||||
| 
						 | 
				
			
			@ -136,6 +137,7 @@
 | 
			
		|||
		"http-signature": "1.2.0",
 | 
			
		||||
		"insert-text-at-cursor": "0.1.1",
 | 
			
		||||
		"is-root": "2.0.0",
 | 
			
		||||
		"is-svg": "3.0.0",
 | 
			
		||||
		"is-url": "1.2.4",
 | 
			
		||||
		"js-yaml": "3.12.0",
 | 
			
		||||
		"jsdom": "13.1.0",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,10 +4,11 @@ import * as fs from 'fs';
 | 
			
		|||
import * as mongodb from 'mongodb';
 | 
			
		||||
import * as crypto from 'crypto';
 | 
			
		||||
import * as debug from 'debug';
 | 
			
		||||
import fileType = require('file-type');
 | 
			
		||||
import * as Minio from 'minio';
 | 
			
		||||
import * as uuid from 'uuid';
 | 
			
		||||
import * as sharp from 'sharp';
 | 
			
		||||
import * as fileType from 'file-type';
 | 
			
		||||
import * as isSvg from 'is-svg';
 | 
			
		||||
 | 
			
		||||
import DriveFile, { IMetadata, getDriveFileBucket, IDriveFile } from '../../models/drive-file';
 | 
			
		||||
import DriveFolder from '../../models/drive-folder';
 | 
			
		||||
| 
						 | 
				
			
			@ -320,6 +321,8 @@ export default async function(
 | 
			
		|||
				const type = fileType(buffer);
 | 
			
		||||
				if (type) {
 | 
			
		||||
					res([type.mime, type.ext]);
 | 
			
		||||
				} else if (isSvg(buffer)) {
 | 
			
		||||
					res(['image/svg+xml', 'svg'])
 | 
			
		||||
				} else {
 | 
			
		||||
					// 種類が同定できなかったら application/octet-stream にする
 | 
			
		||||
					res(['application/octet-stream', null]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										14
									
								
								test/api.ts
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								test/api.ts
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -808,6 +808,20 @@ describe('API', () => {
 | 
			
		|||
 | 
			
		||||
			expect(res).have.status(400);
 | 
			
		||||
		}));
 | 
			
		||||
 | 
			
		||||
		it('SVGファイルを作成できる', async(async () => {
 | 
			
		||||
			const izumi = await signup({ username: 'izumi' });
 | 
			
		||||
 | 
			
		||||
			const res = await assert.request(server)
 | 
			
		||||
				.post('/drive/files/create')
 | 
			
		||||
				.field('i', izumi.token)
 | 
			
		||||
				.attach('file', fs.readFileSync(__dirname + '/resources/image.svg'), 'image.svg');
 | 
			
		||||
 | 
			
		||||
			expect(res).have.status(200);
 | 
			
		||||
			expect(res.body).be.a('object');
 | 
			
		||||
			expect(res.body).have.property('name').eql('image.svg');
 | 
			
		||||
			expect(res.body).have.property('type').eql('image/svg+xml');
 | 
			
		||||
		}));
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	describe('drive/files/update', () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								test/resources/image.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								test/resources/image.svg
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path fill="#FF40A4" d="M128 80c-16 4-20 24-20 48v16c0 8-8 16-20.3 8 4.3 20 24.3 28 40.3 24s20-24 20-48v-16c0-8 8-16 20.3-8C164 84 144 76 128 80"/><path fill="#FFBF40" d="M192 80c-16 4-20 24-20 48v16c0 8-8 16-20.3 8 4.3 20 24.3 28 40.3 24s20-24 20-48v-16c0-8 8-16 20.3-8C228 84 208 76 192 80"/><path fill="#408EFF" d="M64 80c-16 4-20 24-20 48v16c0 8-8 16-20.3 8C28 172 48 180 64 176s20-24 20-48v-16c0-8 8-16 20.3-8C100 84 80 76 64 80"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 505 B  | 
		Loading…
	
	Add table
		
		Reference in a new issue