8 #include <boost/filesystem/operations.hpp>
9 #include <boost/filesystem/exception.hpp>
10 #include <boost/filesystem/convenience.hpp>
12 #include <Wt/Http/Request>
13 #include <Wt/Http/Response>
14 #include <Wt/WApplication>
20 : WFileResource(parent), m_bDelete(false), m_strFile(strFile)
22 std::string m_strExtension = boost::filesystem::extension(
m_strFile);
23 if ( m_strExtension ==
".pdf" )
24 setMimeType(
"application/pdf");
25 if ( m_strExtension ==
".rss" )
26 setMimeType(
"application/rss+xml");
27 if ( m_strExtension ==
".ods" )
28 setMimeType(
"application/x-vnd.oasis.opendocument.spreadsheet");
29 if ( m_strExtension ==
".xls" )
30 setMimeType(
"application/vnd.ms-excel");
31 if ( m_strExtension ==
".png" )
32 setMimeType(
"image/png");
33 if ( m_strExtension ==
".zip" )
34 setMimeType(
"application/x-gzip");
35 if ( m_strExtension ==
".bz2" )
36 setMimeType(
"application/x-bz2");
37 suggestFileName(
"data" + m_strExtension);
48 if ( !request.continuation() ) {
49 if ( !boost::filesystem::exists(
m_strFile) )
return;
52 WFileResource::handleRequest(request, response);
54 if ( !response.continuation() )
56 unlink(fileName().c_str());
virtual void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response)
const std::string m_strFile
void deleteAfterProcessed(bool bDelete)
WsFileResource(const std::string &strFile, Wt::WObject *parent=0)