如何将SQL Server存储的图片上传至服务器wwwroot/img文件夹
解决将数据库读取的图片保存到wwwroot/img文件夹的问题
你可以通过以下步骤实现需求:
构建正确的文件路径
别直接用字符串拼接路径,用Path.Combine方法能自动适配不同系统的路径分隔符,避免出错。你需要指定具体的文件名(比如"uploaded-image.png",要和原图片格式匹配)。确保目标文件夹存在
如果wwwroot/img文件夹不存在,写入文件会抛出异常,所以要先检查并创建该目录。将byte数组写入文件
使用File.WriteAllBytes方法把从数据库读取的imageData写入到指定路径。
完整代码示例:
// 从数据库加载图片数据 byte[] imageData = // 你的图片加载逻辑 // 定义要保存的文件名,可根据业务替换成唯一名称避免覆盖 string fileName = "unique-image-name.jpg"; // 拼接完整目标路径 string targetPath = Path.Combine(_hostingEnvironment.WebRootPath, "img", fileName); // 确保img文件夹存在,不存在则创建 Directory.CreateDirectory(Path.GetDirectoryName(targetPath)); // 将byte数组写入目标文件 File.WriteAllBytes(targetPath, imageData);
额外注意事项:
- 要保证应用程序对
wwwroot/img文件夹有写入权限,否则会触发权限异常。 - 建议生成唯一文件名(比如用GUID+原图片扩展名),防止同名文件被覆盖。
- ASP.NET Core项目中要确保已正确注入
IWebHostEnvironment服务。
内容的提问来源于stack exchange,提问作者cr7oo
相关产品推荐
相关产品推荐

