MK
Size: a a a
MK
n
n
n
ИМ
И
И
И
someMethod
из другого компонента?А
ЕЛ
MM
I
MM
I
MM
I
АТ
MM
АТ
export const fileFetch = (id, name) => {
const token = localStorage.getItem('token');
return dispatch => {
return fetch(SERVER_NAME + apiDownloadFile(id, name), {
mode: 'cors',
method: 'GET',
headers: {
'Content-Disposition': `attachment; filename = ${name}`,
'Authorization': `Bearer ${token}`
}
})
.then(resp => resp.blob())
.then(data => {
if (data.message) {
dispatch(fileObject(FILE_ERROR, data.message));
} else {
dispatch(fileObject(FILE_SUCCESS, data));
return URL.createObjectURL(data);
}
})
.catch(err => {
dispatch(fileObject(FILE_ERROR, err.message));
});
}
}
<ul className="card__application">
{ordersCard.documents && ordersCard.documents.map(doc => (<li className="card__item" key={doc}>
<File />
<a className="card__download"
ref={url}
onClick={() => setDownloadFiles(ordersCard.id, doc)}
target="_blank"
name={doc}
download>{doc}</a>
</li>))}
</ul>
const url = useRef(null);
const setDownloadFiles = (id, doc) => {
url.current.href = fileFetch(id, doc);
}
DS