Estoy tratando de obtener los datos de imagen base64 (FileReader) después de cargar la lista de archivos, pero los archivos cuyos nombres tienen más de 100 caracteres no se pueden recuperar. ¿Hay alguna manera de resolver este problema? No quiero cambiar el nombre del archivo porque el número es demasiado. Puedes ver la foto adjunta.
Nombre del archivo:
Aquí está mi código
function getBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = error => reject(error); }); } async onBeforeUpload(file) { this.setState({ loadingUpload: true }) var path = file.webkitRelativePath; let pathArray = path.split('/'); let fName; if (pathArray.length == 2) { fName = file.name.replace(/\.[^/.]+$/, ""); } else { fName = pathArray.slice(-2)[0]; } //console.log(file.name.length,": ", file.name) let data = await getBase64(file); const objectImg = { folderName: fName, description: "<p>" + fName + "</p>\n", images: { data: data, } } this.setState({ imageList: [...this.state.imageList, objectImg] }) }Actualizar:
Utilizo el componente de carga y el directorio de carga de ant design.
<Upload beforeUpload={(file) => this.onBeforeUpload(file)} directory showUploadList={false} accept="image/*" customRequest={() => { return false; }} > <Button className="table-button" type="primary">Upload</Button> </Upload>Gracias por adelantado