|  |  |  | @ -104,9 +104,13 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |  |       this.isLoading = true | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       return await Promise.all( | 
			
		
	
		
			
				
					|  |  |  |  |         Array.from(files).map((file) => { | 
			
		
	
		
			
				
					|  |  |  |  |         Array.from(files).map(async (file) => { | 
			
		
	
		
			
				
					|  |  |  |  |           const formData = new FormData() | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           if (file.type === 'image/bmp') { | 
			
		
	
		
			
				
					|  |  |  |  |             file = await this.convertBmpToPng(file) | 
			
		
	
		
			
				
					|  |  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           formData.append('file', file) | 
			
		
	
		
			
				
					|  |  |  |  |           formData.append('submitter_slug', this.submitterSlug) | 
			
		
	
		
			
				
					|  |  |  |  |           formData.append('name', 'attachments') | 
			
		
	
	
		
			
				
					|  |  |  | @ -122,6 +126,32 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |  |       }).finally(() => { | 
			
		
	
		
			
				
					|  |  |  |  |         this.isLoading = false | 
			
		
	
		
			
				
					|  |  |  |  |       }) | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     convertBmpToPng (bmpFile) { | 
			
		
	
		
			
				
					|  |  |  |  |       return new Promise((resolve, reject) => { | 
			
		
	
		
			
				
					|  |  |  |  |         const reader = new FileReader() | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         reader.onload = function (event) { | 
			
		
	
		
			
				
					|  |  |  |  |           const img = new Image() | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           img.onload = function () { | 
			
		
	
		
			
				
					|  |  |  |  |             const canvas = document.createElement('canvas') | 
			
		
	
		
			
				
					|  |  |  |  |             const ctx = canvas.getContext('2d') | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             canvas.width = img.width | 
			
		
	
		
			
				
					|  |  |  |  |             canvas.height = img.height | 
			
		
	
		
			
				
					|  |  |  |  |             ctx.drawImage(img, 0, 0) | 
			
		
	
		
			
				
					|  |  |  |  |             canvas.toBlob(function (blob) { | 
			
		
	
		
			
				
					|  |  |  |  |               const newFile = new File([blob], bmpFile.name.replace(/\.\w+$/, '.png'), { type: 'image/png' }) | 
			
		
	
		
			
				
					|  |  |  |  |               resolve(newFile) | 
			
		
	
		
			
				
					|  |  |  |  |             }, 'image/png') | 
			
		
	
		
			
				
					|  |  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           img.src = event.target.result | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         reader.onerror = reject | 
			
		
	
		
			
				
					|  |  |  |  |         reader.readAsDataURL(bmpFile) | 
			
		
	
		
			
				
					|  |  |  |  |       }) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |