首页 > 解决方案 > 将转换后的图像文件 (.dng) 上传到 Dropbox 时出现问题

问题描述

我在节点 js 中有一个应用程序,在其中我将图像上传到节点服务器,然后我压缩文件以减小大小。之后,我将其上传到保管箱,但上传的文件大小为 0 字节。我不明白这个问题。下面是我使用的代码。

var dir ="C:\\Users\\uploads\\converted\\"+foldername;
fs.readdir("C:\\Users\\uploads\\converted\\"+foldername, function (err, files) {
    //handling error
    if (err) {
        return console.log('Unable to scan directory: ' + err);
    } 
    else {
        //listing all files using forEach
         files.forEach(function (file) {
             console.log(file); 
             var dbx = new Dropbox({ accessToken: 'xxxx' });
             dbx.filesUpload({path: '/'+link+'/'+file , contents: file.data})
                .then(function(response) {
                    console.log(response);
                })
                .catch(function(error) {
                    console.error(error);
                });
         });
      }
});

-------------尝试代码后更新---------

感谢您的解决方案。我尝试了此代码并进行了更改,但这次甚至图像文件都没有上传到保管箱。请在下面找到我的更新代码。

var namefile= path.basename("C:\\Users\\uploads\\converted\\"+foldername+"\\"+req.file.originalname,".ARW" );

var image =namefile+".dng";
fs.readFile("C:\\Users\\uploads\\converted\\"+foldername+"\\"+image, function(err, data) {
    
    var dbx = new Dropbox({ accessToken: 'XXXX' });
    dbx.filesUpload({path: '/'+link+'/'+image, contents: data})
        .then(function(response) {
        console.log(response);
    })
    .catch(function(error) {
        console.error(error);
    });
});

感谢你的帮助。

标签: node.jsdirectoryuploadcompressiondropbox

解决方案


推荐阅读