小编最近项目中遇到被占用的发送文件失败的情况,然后就要来修改这个bug
初步想的是通过Open打开指针是否为的nullptr的情况来判断,后来测试并不行 pass!
就想到之前文件被占用改名失败的问题,于是乎
try
{
filesystem::rename(m_uploadFilePath.wstring(), m_uploadFilePath.wstring());
}
catch (const filesystem::filesystem_error& e)
{
errmsg = L"文件被占用";
SetError(ERR_FILE_PREPARE_FAILED, errmsg.ToUTF8().c_str());
m_context.GetUserLogger()->Info(L"[FileUpload]file prepare fail, errmsg={}", errmsg);
SaveFileUploadFailedMsg();
return nullptr;
}
注:由于开发环境,filesystem 是用的boost库函数,官爷们可根据c++函数来更改替换(前后改名信息要一致!)
namespace filesystem = boost::filesystem;
最后问题完美解决,所以各位官爷今天学废了吗?



