Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
fredix
ncs
Commits
3a4207fd
Commit
3a4207fd
authored
Apr 05, 2013
by
fred
Browse files
check empty file when send a file payload
parent
7645cfec
Changes
1
Hide whitespace changes
Inline
Side-by-side
zerogw.cpp
View file @
3a4207fd
...
...
@@ -199,6 +199,7 @@ void Api_payload::receive_http_payload()
BSONObjBuilder
payload_builder
;
payload_builder
.
genOID
();
QString
bodyMessage
=
""
;
BSONObj
data
;
try
{
...
...
@@ -246,36 +247,43 @@ void Api_payload::receive_http_payload()
{
key
=
"gfs_id"
;
QByteArray
requestContent
((
char
*
)
request
.
data
(),
request
.
size
());
BSONObj
gfs_file_struct
=
mongodb_
->
WriteFile
(
zerogw
[
"X-payload-filename"
].
toStdString
(),
requestContent
.
constData
(),
requestContent
.
size
());
if
(
gfs_file_struct
.
nFields
()
==
0
)
if
(
request
.
size
()
==
0
)
{
qDebug
()
<<
"write on gridFS failed !"
;
tmp
=
"-1"
;
bodyMessage
=
buildResponse
(
"error"
,
"empty file"
);
}
//else tmp = QString::fromStdString(gfs_file_struct.getField("_id").OID().toString());
else
{
std
::
cout
<<
"writefile : "
<<
gfs_file_struct
<<
std
::
endl
;
//std::cout << "writefile id : " << gfs_file_struct.getField("_id") << " date : " << gfs_file_struct.getField("uploadDate") << std::endl;
be
uploaded_at
=
gfs_file_struct
.
getField
(
"uploadDate"
);
be
filename
=
gfs_file_struct
.
getField
(
"filename"
);
be
length
=
gfs_file_struct
.
getField
(
"length"
);
QByteArray
requestContent
((
char
*
)
request
.
data
(),
request
.
size
());
BSONObj
gfs_file_struct
=
mongodb_
->
WriteFile
(
zerogw
[
"X-payload-filename"
].
toStdString
(),
requestContent
.
constData
(),
requestContent
.
size
());
if
(
gfs_file_struct
.
nFields
()
==
0
)
{
qDebug
()
<<
"write on gridFS failed !"
;
tmp
=
"-1"
;
}
//else tmp = QString::fromStdString(gfs_file_struct.getField("_id").OID().toString());
else
{
std
::
cout
<<
"writefile : "
<<
gfs_file_struct
<<
std
::
endl
;
//std::cout << "writefile id : " << gfs_file_struct.getField("_id") << " date : " << gfs_file_struct.getField("uploadDate") << std::endl;
std
::
cout
<<
"uploaded : "
<<
uploaded_at
<<
std
::
endl
;
be
uploaded_at
=
gfs_file_struct
.
getField
(
"uploadDate"
);
be
filename
=
gfs_file_struct
.
getField
(
"filename"
);
be
length
=
gfs_file_struct
.
getField
(
"length"
);
std
::
cout
<<
"uploaded : "
<<
uploaded_at
<<
std
::
endl
;
payload_builder
.
append
(
"created_at"
,
uploaded_at
.
date
());
payload_builder
.
append
(
"filename"
,
filename
.
str
());
payload_builder
.
append
(
"length"
,
length
.
numberLong
());
payload_builder
.
append
(
"gfs_id"
,
gfs_file_struct
.
getField
(
"_id"
).
OID
());
payload_builder
.
append
(
"gridfs"
,
true
);
tmp
=
QString
::
fromStdString
(
gfs_file_struct
.
getField
(
"_id"
).
OID
().
toString
());
}
payload_builder
.
append
(
"created_at"
,
uploaded_at
.
date
());
payload_builder
.
append
(
"filename"
,
filename
.
str
());
payload_builder
.
append
(
"length"
,
length
.
numberLong
());
payload_builder
.
append
(
"gfs_id"
,
gfs_file_struct
.
getField
(
"_id"
).
OID
());
payload_builder
.
append
(
"gridfs"
,
true
);
tmp
=
QString
::
fromStdString
(
gfs_file_struct
.
getField
(
"_id"
).
OID
().
toString
());
}
}
}
//else if (zerogw["X-payload-type"] == "json")
else
...
...
@@ -294,7 +302,6 @@ void Api_payload::receive_http_payload()
if
(
!
(
events
&
ZMQ_RCVMORE
))
{
QString
bodyMessage
=
""
;
BSONObj
node
;
BSONObj
user
;
BSONObj
user_nodes
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment