解决java.io.FileNotFoundException: D:\tempfile (拒绝访问。)

问题:java.io.FileNotFoundException: D:\tempfile (拒绝访问。)at java.io.FileOutputStream.open(Native Method)at java.io.FileOutputStream.(FileOutputStream.java:221)at java.io.FileOutputStream.(FileOutputStream.java:171)at com.sh.xy.servlet.UploadServlet.doPost(UploadServlet.java:55)at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)...

解决办法:在填写文件的路径时一定要具体到文件

源码:

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("已经接收到请求");
		
		//从request当中获取流信息
		InputStream fileSource = request.getInputStream();
		String tempFileName = "D:/tempfile.png";
		
		//tempFile指向临时文件
		File tempFile = new File(tempFileName);

		//outputStream文件输出流指向这个临时文件
		FileOutputStream outputStream = new FileOutputStream(tempFile);
		byte  b[] = new byte[1024];
		int n;
		while((n=fileSource.read(b)) != -1){
			outputStream.write(b, 0, n);
		}
		
		//关闭输入输出流
		outputStream.close();
		fileSource.close();
	}

}


  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
对不起,之前的代码示例中有一些问题。`basePath` 的设置不正确,导致文件保存路径出错。 以下是修正后的代码示例: ```java import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; public class YourClassName { public String saveImage(MultipartFile file, String folderPath, String newFileName) { String originalFileName = file.getOriginalFilename(); String extension = originalFileName.substring(originalFileName.lastIndexOf(".")); // 获取文件后缀名 String newFileNameWithExtension = newFileName + extension; // 自定义文件名 try { File folder = new File(folderPath); if (!folder.exists()) { folder.mkdirs(); // 创建文件夹 } File dest = new File(folder, newFileNameWithExtension); file.transferTo(dest); // 保存图片到目标文件 System.out.println("图片保存成功:" + dest.getAbsolutePath()); return dest.getAbsolutePath(); // 返回保存图片的绝对路径 } catch (IOException e) { e.printStackTrace(); } return null; // 图片保存失败,返回null } } ``` 请确保你传入的 `folderPath` 参数是正确的文件夹路径,确保该文件夹存在或能够创建。 另外,如果你没有传入绝对路径作为 `folderPath`,那么默认情况下,文件夹会在当前项目的根目录下创建。如果你想将图片保存到其他位置,可以传入绝对路径,例如 `"C:/path/to/folder"`。 希望这次能够解决你的问题!如果还有其他疑问,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lyatf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值