You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地文件上传至Blob存储报错求助

本地文件上传Blob存储报错排查

我尝试将本地文件复制上传至Blob存储,但执行代码时出现报错,无法定位问题所在。

相关代码

BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(connectStr).buildClient();
String containerName = "test-db";

BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerName);

BlobClient blobClient = containerClient.getBlobClient(values);

System.out.println("\nUploading to Blob storage as blob:\n\t" + blobClient.getUrl());
blobClient.uploadFromFile(localPath+values);

报错信息

java.io.FileNotFoundException: [拼接后的文件路径] (系统找不到指定的文件。)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
    at com.azure.storage.blob.BlobClient.uploadFromFile(BlobClient.java:474)
    // 后续调用栈省略

问题排查与解决方案

  • 检查文件路径正确性:手动验证localPath + values拼接后的完整路径,确认目标文件确实存在于该路径下
  • 统一路径分隔符:不同操作系统路径分隔符存在差异,建议用File.separator拼接路径,避免分隔符错误导致路径无效:
    String fullFilePath = localPath + File.separator + values;
    
  • 提前验证文件存在性:上传前先判断文件是否存在,输出明确提示:
    File targetFile = new File(fullFilePath);
    if (!targetFile.exists()) {
        System.err.println("错误:目标文件不存在,路径为:" + fullFilePath);
        return;
    }
    blobClient.uploadFromFile(fullFilePath);
    
  • 检查文件权限:确保运行程序的用户对目标文件有读取权限,且文件未被其他进程占用

内容的提问来源于stack exchange,提问作者marshmellow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:40:50