我想将URL客户端发送的图像存储multipart/form-data在我的MySQL数据库中。我遵循了文档,但我无法真正找出应该如何将图像保存在服务器文件系统中并将 URL 返回给客户端。
这是我的代码:
@ApiTags('product-image')
@Controller('product-image')
export class ProductImageController {
constructor(public service: ProductImageService) {
}
@Post('upload')
@UseInterceptors(FilesInterceptor('files'))
uploadImage(@UploadedFiles() files) {
console.log(files);
// How can I save image files in
// a custom path and return the path
// back to the client?
}
}
Run Code Online (Sandbox Code Playgroud) 预期的行为是在单击工具提示时转到另一个页面。为了实现此功能,我为该对象提供了 onClick 属性PopperProps。
下面是我的代码:
interface Props extends TooltipProps{}
const CustomTooltip : React.FC<Props> = (props) => {
const { arrow, ...classes } = useStylesBootstrap();
const [arrowRef, setArrowRef] = React.useState<HTMLSpanElement | null>(null);
const handleClick = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
event.preventDefault();
event.stopPropagation();
console.log("clicked");
window.location.replace('/info/contact-us');
};
return (
<Tooltip
classes={classes}
PopperProps={{
style: { border: "1px red solid" },
onClick: handleClick,
popperOptions: {
modifiers: {
arrow: {
enabled: Boolean(arrowRef),
element: arrowRef,
},
},
},
}}
{...props}
title={(
<>
{props.title}
<span className={arrow} ref={setArrowRef} …Run Code Online (Sandbox Code Playgroud) 这让我很紧张,我已经检查了几个小时的代码,但没有发现问题。在下面的代码中,我在正文中使用了一个无效的对象,以获得 400 错误(错误请求),因此在 catch 块中捕获它:
<button onClick={() => {
try {
axiosInstance.post('/cart', { field: "invalid field" });
} catch (err) {
console.log("here!!!");
console.error(err);
}
}}
/>
Run Code Online (Sandbox Code Playgroud)
我可以在网络选项卡中看到请求失败,在控制台中我可以看到:
POST http://api.[REDACTED]/api/cart 400 (Bad Request)
index.js:1375 Error: Request failed with status code 400
at createError (createError.js:17)
at settle (settle.js:19)
at XMLHttpRequest.handleLoad (xhr.js:60)
Run Code Online (Sandbox Code Playgroud) javascript ×2
reactjs ×2
material-ui ×1
mysql ×1
nestjs ×1
node.js ×1
popper.js ×1
try-catch ×1