\r
RemoveFromInsertList(fileinsertid);\r
\r
- m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"FileInserter::HandlePutFailed failed to insert "+message["Identifier"]);\r
+ m_log->error("FileInserter::HandlePutFailed failed to insert "+message["Identifier"]);\r
\r
return true;\r
\r
StringFunctions::Convert(idparts[1],fileinsertid);\r
\r
SQLite3DB::Statement st=m_db->Prepare("UPDATE tblFileInserts SET Key=?, Data=NULL WHERE FileInsertID=?;");\r
- st.Bind(0,message["URI"]);\r
+ st.Bind(0,StringFunctions::UriDecode(message["URI"]));\r
st.Bind(1,fileinsertid);\r
st.Step();\r
\r
m_fcpuniquename="FileInserter";\r
}\r
\r
-void FileInserter::StartInsert(const long &fileinsertid)\r
+const bool FileInserter::StartInsert(const long &fileinsertid)\r
{\r
FCPMessage message;\r
std::string fileinsertidstr="";\r
std::string sizestr="";\r
std::string filename="";\r
+ std::string mimetype="";\r
int datalen=-1;\r
std::vector<char> data;\r
\r
StringFunctions::Convert(fileinsertid,fileinsertidstr);\r
\r
\r
- SQLite3DB::Statement st=m_db->Prepare("SELECT FileName,Size,Data FROM tblFileInserts WHERE FileInsertID=?;");\r
+ SQLite3DB::Statement st=m_db->Prepare("SELECT FileName,Size,Data,MimeType FROM tblFileInserts WHERE FileInsertID=?;");\r
st.Bind(0,fileinsertid);\r
st.Step();\r
\r
data.resize(datalen,0);\r
st.ResultBlob(2,&data[0],datalen);\r
data.resize(datalen);\r
+ st.ResultText(3,mimetype);\r
\r
StringFunctions::Convert(data.size(),sizestr);\r
\r
message.SetName("ClientPut");\r
message["URI"]="CHK@";\r
message["TargetFilename"]=filename;\r
+ if(mimetype!="")\r
+ {\r
+ message["Metadata.ContentType"]=mimetype;\r
+ }\r
message["Identifier"]=m_fcpuniquename+"|"+fileinsertidstr;\r
message["UploadFrom"]="direct";\r
message["DataLength"]=sizestr;\r
m_fcp->SendRaw(&data[0],data.size());\r
\r
m_inserting.push_back(fileinsertid);\r
+\r
+ return true;\r
}\r