为了账号安全,请及时绑定邮箱和手机立即绑定

Azure 存储 Blob:上传的 CSV 文件显示零字节

Azure 存储 Blob:上传的 CSV 文件显示零字节

月关宝盒 2023-06-14 16:26:57
我已经完成了容器设置和文件重命名步骤,这不是问题,但上传后,我 Azure 域上 blob 存储容器中的文件大小显示为 0 字节。我尝试交替将文件转换为 FileInputStream 并将其作为流上传,但它仍然以相同的方式产生。fileName=event.getFilename(); //fileName is e.g eod1234.csvString tempdir = System.getProperty("java.io.tmpdir");file= new File(tempdir+File.separator+fileName); //try {    PipedOutputStream pos = new PipedOutputStream();    stream= new PipedInputStream(pos);    buffer = new byte[stream.available()];    stream.read(buffer);    FileInputStream fils = new FileInputStream(file);    int content = 0;    while((content = fils.read()) != -1){        System.out.println((char)content);    }    //Outputstream was written as a test previously but didn't work    OutputStream outStream = new FileOutputStream(file);    outStream.write(buffer);    outStream.close();    // container name is "testing1"                CloudBlockBlob blob = container.getBlockBlobReference(fileName);    if(fileName.length() > 0){       blob.upload(fils,file.length()); //this is testing with fileInputStream       blob.uploadFromFile(fileName); //preferred, just upload from file    }}            没有显示任何错误消息,只是我们知道该文件涉及 blob 存储并显示大小为 0 字节。这是一种单向过程,仅上传 CSV 格式的文件。在 blob 容器中,它应该显示每个上传的文件大小为 1-5 KB。
查看完整描述

3 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

而不是blob.uploadFromFile(fileName);你应该使用blob.uploadFromFile(file.getAbsolutePath());因为uploadFromFile方法需要绝对路径。而且你不需要blob.upload(fils,file.length());.

查看完整回答
反对 回复 2023-06-14
?
HUH函数

TA贡献1836条经验 获得超4个赞

我在处理(从多部分文件复制的)文件时遇到了同样的问题,.png我正在这样做:

File file = new File(multipartFile.getOriginalFilename());

Azure 上的 blob 是 0bytes 但是当我改成这个时:

File file = new File("C://uploads//"+multipartFile.getOriginalFilename());

它开始正确保存文件


查看完整回答
反对 回复 2023-06-14
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

CloudBlockBlob 或 BlobContainerUrl 方法都有效。

开箱即用的上传组件需要手动将 FileOutputStream 实现为一个临时对象,这与随处可见的普通 servlet 对象不同。由于时间有限,我使用了他们的一个插件 EasyUpload,因为它集成了 Viritin UploadFileHandler 而不是弄清楚如何从头开始流式传输对象。如果有更多时间,我肯定会在我的沙盒工作区中试用 MultiFileUpload 插件,它有更多有趣的东西。


查看完整回答
反对 回复 2023-06-14
  • 3 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信