Я создаю загрузку изображения RestAPI с помощью коа-мультера. Я сохраняю изображение с URL в базе данных, но я не могу получить доступ к этому созданному URL. Когда я открываю этот URL, он говорит, что не найден. У меня есть проект в E drive. Когда я создаю полный путь от диска E к изображению, тогда URL работает, а затем я могу видеть изображение с созданным URL. Но это не правильный способ, которым я хочу получить изображение из URL проекта.
Он создает URL, например http://localhost:8000\\src\\images\\image.png
Каталог проекта
project
│ node_modules
│ package.json
│
└───src
│ │ views
│ │ migrations
│ │
│ └───images
│ │ image.png
API
const multer = require('@koa/multer');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'src\\images')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
const upload = multer({
storage: storage,
});
router.post('/api/image_upload', upload.fields([
{
name: 'avatar',
maxCount: 1
}
]), async (ctx: Koa.Context, next: () => Promise<any>) => {
var user_id = ctx.request.body.user_id;
if (!user_id) {
ctx.body = {
status: 422,
message: "Please enter user id",
};
} else {
const userCheck = await connection.query('SELECT * FROM USERS WHERE id=$1',
[`${user_id}`]);
if (ctx.files['avatar']) {
var imageName = ctx.files['avatar'][0]['originalname'];
var path = ctx.files['avatar'][0]['path'];
var host = ctx.host;
var avatar = ctx.protocol + "://" + host + "\\" + path;
} else {
avatar = userCheck[0].avatar;
}
}
});