ImageUploader

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit cf048d710092aa6361a0466cf433aca7333e9465
parent cede3f3b0ab992e1be28867b6c0ce233c527ca11
Author: minerva-jupitr <ryouturn@gmail.com>
Date:   Mon,  5 Aug 2024 21:32:46 +0900

帰ってきたリンクの埋め込みの途中

Diffstat:
Msrc/app/fileUploader.ts | 7+++++--
Msrc/app/page.tsx | 8+++-----
2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/app/fileUploader.ts b/src/app/fileUploader.ts @@ -3,12 +3,13 @@ import { promises as fs } from "node:fs"; import { resolve } from "node:path"; import { revalidatePath } from "next/cache"; -export async function uploadFile(formData: FormData) { +export async function fileUploader(formData: FormData) { const file = formData.get("file") as File; + let filePath = 'download/c5fdf674-4dde-4a2c-8549-4c6d811f2fbc.pdf' if (file && file.size > 0) { const data = await file.arrayBuffer(); const buffer = Buffer.from(data); - const filePath = resolve( + filePath = resolve( process.cwd(), "./public/uploads", `${crypto.randomUUID()}.${file.name.split(".").pop()}`, @@ -16,4 +17,6 @@ export async function uploadFile(formData: FormData) { await fs.writeFile(filePath, buffer); } revalidatePath("/file"); + + return filePath; } \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx @@ -17,13 +17,12 @@ import MuiAppBar, { AppBarProps as MuiAppBarProps } from '@mui/material/AppBar'; import IconButton from '@mui/material/IconButton'; import ChevronLeftIcon from '@mui/icons-material/ChevronLeft'; import ChevronRightIcon from '@mui/icons-material/ChevronRight'; -import UploadForm from './fileUploadForm'; import HomeIcon from '@mui/icons-material/Home'; import ImageSearchIcon from '@mui/icons-material/ImageSearch'; import HelpIcon from '@mui/icons-material/Help'; import { Button, Icon, Input, Link, TextField } from '@mui/material'; import ChatIcon from '@mui/icons-material/Chat'; -import { uploadFile } from './fileUploader'; +import { fileUploader } from './fileUploader'; const menuList = [['Home',<HomeIcon/>],['IndexFiles',<ImageSearchIcon/>],['Pim Mattermost',<ChatIcon/>],['How to Use',<HelpIcon/>]]; @@ -34,8 +33,7 @@ const darkTheme = createTheme({ }); const drawerWidth = 240; -let imageLink = 'download/c5fdf674-4dde-4a2c-8549-4c6d811f2fbc.pdf'; - +let imageLink: Promise<string> = Promise.resolve('download/c5fdf674-4dde-4a2c-8549-4c6d811f2fbc.pdf'); const Main = styled('main', { shouldForwardProp: (prop) => prop !== 'open' })<{ open?: boolean; @@ -161,7 +159,7 @@ export default function Home() { <p>Files posted here will be deleted after a set period of time.</p> </div> <Box> - <form action={uploadFile}> + <form action={imageLink = fileUploader}> <Input type="file" name="file" sx={{marginRight:'10px'}}/> <Button type="submit" variant="contained" size="small">アップロード</Button> </form>