我正在使用 Java 将文件移动到保管箱文件夹中,如果添加了新文件或照片,将触发 IFTTT.com 配方并将其发布到 Twitter。我正在使用 Apache Commons IO 作为 File Utils 上的 movefile 方法来创建一个文件,然后移动它。
但首先,我让它找到一个带有 contentFileArray 的 Content Path 文件夹的路径,它创建了一个 File,它为我们提供了我想要使用的图像。然后它获取图像,并在本地 Dropbox 文件夹中创建一个文件目标。我设置文件名并添加文件扩展名。
然后我将它移动到 Dropbox 文件夹中……然后触发 IFTTT 配方,当文件进入 Dropbox 文件夹时,您可以发布推文……或者如果照片图像进入 Dropbox 文件夹。问题是 .png 作为文件和照片触发,所以我双重发布。它激活文件配方和照片配方。
IFTTT 没有关于 Dropbox 触发器如何在网站上工作的任何文档,但也许我在 FileUtils.moveFile() 中遗漏了一些东西。也许它会在该位置创建一个文件,然后让我们更改文件名。这可能会导致它被读取两次。
File src = new File(messageObject.getContentpath()+"\\"+contentFileArray[0]);
String ext = "."+FilenameUtils.getExtension(contentFileArray[0]);
File dest = new File(messageObject.getDropboxpath()+"\\"+messageObject.getMessage()+ext);
FileUtils.moveFile(src, dest);
successfulContentPosts++;
调用此行是否会导致在此实际文件路径中生成此文件?
File dest = new File(messageObject.getDropboxpath()+"\\"+messageObject.getMessage()+ext);