MCPcopy Create free account
hub / github.com/Roy3838/Observer / handleFileSelect

Function handleFileSelect

app/src/components/MediaUploadMessage.tsx:55–77  ·  view source on GitHub ↗
(event: React.ChangeEvent<HTMLInputElement>)

Source from the content-addressed store, hash-verified

53 };
54
55 const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {
56 const file = event.target.files?.[0];
57 logger.info('File selected', { fileName: file?.name, fileType: file?.type, fileSize: file?.size });
58
59 if (file && file.type.startsWith('image/')) {
60 logger.info('Valid image file, reading as data URL');
61 const reader = new FileReader();
62 reader.onload = (e) => {
63 const result = e.target?.result as string;
64 logger.info('File reader loaded', { resultLength: result.length, resultPreview: result.substring(0, 100) });
65 // Extract base64 data (remove data:image/...;base64, prefix)
66 const base64Data = result.split(',')[1];
67 logger.info('Extracted base64 data', { base64Length: base64Data.length });
68 onResponse({ type: 'image', data: base64Data });
69 };
70 reader.onerror = (error) => {
71 logger.error('File reader error', error);
72 };
73 reader.readAsDataURL(file);
74 } else {
75 logger.warn('Invalid file selected', { fileType: file?.type });
76 }
77 };
78
79 const handleStartCamera = async () => {
80 logger.info('Starting camera');

Callers

nothing calls this directly

Calls 3

infoMethod · 0.80
errorMethod · 0.80
warnMethod · 0.80

Tested by

no test coverage detected