forked from open-webui/open-webui
		
	Merge pull request #1644 from Entaigner/patch-6
Bugfix: FileReader can't be reused so init one per image
This commit is contained in:
		
						commit
						e82d9c873b
					
				
					 1 changed files with 22 additions and 25 deletions
				
			
		|  | @ -316,24 +316,22 @@ | |||
| 			console.log(e); | ||||
| 
 | ||||
| 			if (e.dataTransfer?.files) { | ||||
| 				let reader = new FileReader(); | ||||
| 
 | ||||
| 				reader.onload = (event) => { | ||||
| 					files = [ | ||||
| 						...files, | ||||
| 						{ | ||||
| 							type: 'image', | ||||
| 							url: `${event.target.result}` | ||||
| 						} | ||||
| 					]; | ||||
| 				}; | ||||
| 
 | ||||
| 				const inputFiles = Array.from(e.dataTransfer?.files); | ||||
| 
 | ||||
| 				if (inputFiles && inputFiles.length > 0) { | ||||
| 					inputFiles.forEach((file) => { | ||||
| 						console.log(file, file.name.split('.').at(-1)); | ||||
| 						if (['image/gif', 'image/jpeg', 'image/png'].includes(file['type'])) { | ||||
| 							let reader = new FileReader(); | ||||
| 							reader.onload = (event) => { | ||||
| 								files = [ | ||||
| 									...files, | ||||
| 									{ | ||||
| 										type: 'image', | ||||
| 										url: `${event.target.result}` | ||||
| 									} | ||||
| 								]; | ||||
| 							}; | ||||
| 							reader.readAsDataURL(file); | ||||
| 						} else if ( | ||||
| 							SUPPORTED_FILE_TYPE.includes(file['type']) || | ||||
|  | @ -470,23 +468,22 @@ | |||
| 					hidden | ||||
| 					multiple | ||||
| 					on:change={async () => { | ||||
| 						let reader = new FileReader(); | ||||
| 						reader.onload = (event) => { | ||||
| 							files = [ | ||||
| 								...files, | ||||
| 								{ | ||||
| 									type: 'image', | ||||
| 									url: `${event.target.result}` | ||||
| 								} | ||||
| 							]; | ||||
| 							inputFiles = null; | ||||
| 							filesInputElement.value = ''; | ||||
| 						}; | ||||
| 
 | ||||
| 						if (inputFiles && inputFiles.length > 0) { | ||||
| 							const _inputFiles = Array.from(inputFiles); | ||||
| 							_inputFiles.forEach((file) => { | ||||
| 								if (['image/gif', 'image/jpeg', 'image/png'].includes(file['type'])) { | ||||
| 									let reader = new FileReader(); | ||||
| 									reader.onload = (event) => { | ||||
| 										files = [ | ||||
| 											...files, | ||||
| 											{ | ||||
| 												type: 'image', | ||||
| 												url: `${event.target.result}` | ||||
| 											} | ||||
| 										]; | ||||
| 										inputFiles = null; | ||||
| 										filesInputElement.value = ''; | ||||
| 									}; | ||||
| 									reader.readAsDataURL(file); | ||||
| 								} else if ( | ||||
| 									SUPPORTED_FILE_TYPE.includes(file['type']) || | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Jaeryang Baek
						Timothy Jaeryang Baek