瀏覽代碼

preview and download other types of file

FE_dev
Dzenis Hadzifejzovic 2 年之前
父節點
當前提交
8d7ccf2185
共有 1 個檔案被更改,包括 21 行新增6 行删除
  1. 21
    6
      src/pages/FilesPage/FilesViewPage.js

+ 21
- 6
src/pages/FilesPage/FilesViewPage.js 查看文件

@@ -167,10 +167,20 @@ const FilesViewPage = ({ history }) => {
console.log(e, "error in file-viewer");
};

const displayFile = (fileStream, streamId) => {
setFile({ fileStream, streamId });
const displayFile = (fileStream, streamId, fileType) => {
setFile({ fileStream, streamId, fileType });
};

const getHrefForDownload = (fileType, fileStream) => {
if (fileType === "docx") {
return `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${fileStream}`;
} else if (fileType === "doc") {
return `data:application/msword;base64,${fileStream}`;
} else {
return `data:application/pdf;base64,${fileStream}`;
}
};

return isLoading ? (
<div>
<div className="l-t-rectangle"></div>
@@ -262,7 +272,9 @@ const FilesViewPage = ({ history }) => {
<tr
key={index}
className="secondaryRow"
onClick={() => displayFile(n.file_stream, n.stream_id)}
onClick={() =>
displayFile(n.file_stream, n.stream_id, n.file_type)
}
>
<td className="docs-name">{n.fileName}</td>
<td className="docs-name">{n.title}</td>
@@ -293,7 +305,10 @@ const FilesViewPage = ({ history }) => {
padding: 8,
}}
download={n.title}
href={`data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${n.file_stream}`}
href={getHrefForDownload(
n.file_type,
n.file_stream
)}
>
{t("common.download")}
</a>
@@ -312,7 +327,7 @@ const FilesViewPage = ({ history }) => {
}}
>
<FileViewer
fileType="docx"
fileType={file.fileType}
filePath={`data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,${file.fileStream}`}
onError={onError}
/>

Loading…
取消
儲存