嗨,所以我的问题是我正在上传图像,我可以在我的应用中查看它们,在服务器上查看它们。
当我尝试删除文件时出现问题,我仔细检查名称是否与myimagetodelete.jpg
这是代码......
#include <vector>
#include <fstream>
#include <iostream>
using namespace std;
void write() {
ofstream file;
file.open("temp.data", ios::binary);
for(unsigned int i = 0; i < 100000; i++){
int temp = 0; // I don't know the generateRandom(...) function
file.write(reinterpret_cast<const char*>(&temp),sizeof(temp));
}
}
void read() {
ifstream ifile;
ifile.open("temp.data", ios::binary);
ifile.seekg(0, ifile.end);
long size = ifile.tellg();
ifile.seekg(0, ifile.beg);
int restore = 0;
vector<int> v;
while(ifile.tellg() < size){
ifile.read(reinterpret_cast<char*>(&restore), sizeof(restore));
v.push_back(restore);
}
cout << v.size() << endl;
}
int main()
{
write();
read();
return 0;
}
我所看到的每个地方都有相似的代码,如果不相同的代码,所以我无法弄清楚为什么这不起作用,除非它是backand的问题?
我的“项目”对象文件功能在后面和仪表板中就像下面需要的那样。
public deleteFile(objectName: string, fileActionName: string, filename: string) {
// objectName: items
// fileActionName: files
let headers = this.authHeader;
headers.append('Content-Type', 'application/json');
return this.http.delete(
this.api_url + "/1/objects/action/" + objectName + '?name=' + fileActionName + "&filename=" + filename,
{
headers: headers
}
);
}
}
以上代码几乎是“开箱即用”。
任何帮助都会非常感激在这个问题上疯狂!
答案 0 :(得分:0)
感谢您使用Backand。我们在AWS中使用缓存来提高S3文件存储解决方案的性能。这可能是您沮丧的原因 - 我们已经完成了一些内部测试,缓存可能需要一个小时来更新其内容,这意味着虽然文件本身已被删除,但该文件仍可用于删除后的一段时间。
要验证文件是否已删除,您可以在Backand App Dashboard中访问您的存储设置 - &gt;托管 - &gt;存储文件,并刷新给定的列表。这应该告诉您文件是否实际被删除。在我自己的测试中,我验证了添加和删除非常简单的文件名,并且在上传或删除文件时没有遇到任何问题,因此您很可能只是在缓存过期的长端被捕获。
我们会更新我们的文档以解释此问题,对于您因此而感到的挫折,我们深表歉意。
还有一件事可能会导致此行为,但它与您的使用案例无关 - 这是针对来自网络的任何人的一般信息。如果您已修改文件存储操作以对上载的文件名进行更复杂的操作,则可能是导致问题的原因。确保文件操作中的代码正常工作,并且删除说明了对文件名的任何编程更改。