![](/img/trans.png)
[英]How to read stored file using Multer disk storage option (NodeJs)?
[英]How to write and read file in docker using multer
我正在使用 multer 將上傳文件保存到特定目錄。 我在本地工作得很好,但是當我使用 docker 構建時,multer 沒有將文件寫入我的文件夾。
這是我的多重代碼:
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, __basedir + "/uploads/")
},
filename: (req, file, cb) => {
cb(null, file.originalname)
}
})
我決定像這樣使用 docker-compose 中的卷:
volumes:
- ./uploads:/app/uploads
和錯誤Error: EACCES: permission denied, open '/app/uploads/Funder Statement Test data.xlsx'
這是我的 dockerFile:
FROM node:fermium-alpine
RUN apk add --no-cache \
chromium \
nss \
freetype \
harfbuzz \
ca-certificates \
ttf-freefont \
nodejs \
yarn
# Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
# Puppeteer v10.0.0 works with Chromium 92.
RUN yarn add puppeteer@10.0.0
# Add user so we don't need --no-sandbox.
RUN addgroup -S pptruser && adduser -S -G pptruser pptruser \
&& mkdir -p /home/pptruser/Downloads /app \
&& chown -R pptruser:pptruser /home/pptruser \
&& chown -R pptruser:pptruser /app
# Run everything after as non-privileged user.
USER pptruser
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3030
CMD ["npm", "start"]
知道如何解決我的錯誤嗎?
運行 Docker 容器的用戶可能沒有寫入映射文件夾./uploads
的權限。 確保權限正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.