TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
hofsoc
NA
6
0
Problem uploading a file to servlet
Jun 9 2009 4:43 AM
I want to upload a file from c#.net app to a servlet. I am using webclient.UploadFile() and I have also added some data to the uri (see postData below). Everything seems to work ok except webclient seems to be calling the post and the get within the servlet. Therefore my response = null as the get method returns nothing. Can anyone explain why this is happening? If so is there a better way to complete this? To resolve the issue for the moment I am implementing a singleton as my servlet and obviously this is not the way to go so any assistance on this would be appreciated. Code is below:
Thanks,
//send metadata and file to the servlet
log.
Debug
(
"Create instance of WebClient"
)
;
WebClient client = new WebClient
(
)
;
log.
Debug
(
"Get the securityToken"
)
;
String
securityToken = SecurityToken.
getToken
(
)
;
log.
Debug
(
"SecurityToken is set to: "
+ securityToken
)
;
log.
Debug
(
"Create a collection of values"
)
;
NameValueCollection querystring = setCollectionValues
(
m1, securityToken
)
;
log.
Debug
(
"Create the postData which will include the securityToken and all metadata"
)
;
string
postdata =
"?"
;
if
(
querystring !=
null
)
{
foreach
(
string
key in querystring.
Keys
)
{
postdata += key +
"="
+ querystring.
Get
(
key
)
+
"&"
;
}
}
log.
Debug
(
"Create the uri and add the postdata."
)
;
Uri uri = new Uri
(
url + postdata
)
;
log.
Debug
(
"URI is: "
+ uri.
ToString
(
)
)
;
//Create streams for request /response
Stream data =
null
;
StreamReader reader =
null
;
//try to upload the file to the servlet
try
{
log.
Debug
(
"Try Upload file "
+ file +
" to servlet at "
+ url
)
;
client.
UploadFile
(
uri,
"POST"
, file
)
;
data = client.
OpenRead
(
url
)
;
if
(
data !=
null
)
{
log.
Debug
(
"Response returned from server."
)
;
reader = new StreamReader
(
data
)
;
saveStatus = reader.
ReadToEnd
(
)
;
Console.
Write
(
"Response From Server: "
+ saveStatus
)
;
}
else
{
log.
Debug
(
"Error Accessing the saveServlet"
)
;
saveStatus =
"Problem with Server. Try Again later"
;
}
log.
Debug
(
"Close the Streams"
)
;
reader.
Close
(
)
;
data.
Close
(
)
;
}
catch
(
WebException e
)
{
log.
Error
(
"Error with accessing the server / servlet. Error returned is: "
+ e.
Status
)
;
saveStatus =
"<ERROR>Error occured while trying to upload file to server.<ERROR>"
;
}
}
else
{
log.
Debug
(
"Client side validation Failed."
)
;
saveStatus = validationStatus;
log.
Debug
(
"Set the return String to the validationStatus: "
+ validationStatus
)
;
}
Reply
Answers (
0
)
datagridview data read
How to export datagridview to Word file in C# (Visual Studio 2005)