Solved

Can't get request_content when request is big

Posted on 2003-12-05
9
1,641 Views
Last Modified: 2013-12-18
Hello !

I've debeloped a LotusScript Agent handles a POST query encoded as multipart-data, in order to provide upload capabilities without using a Domino-generated form.

Inside the LotusScript code I get the POST request from the NotesSession.DocumentContext.GetItemValue("Request_content")(0); this code returns a String containing the multipart message.

In order to test this agent, I made an HTML page containing a form like this:
<form method="POST" action="http://gaga/gogo.nsf/myAgent?OpenAgent" enctype="multipart/form-data">
<input type="file" name="gugu" />
<input type="file" name="toto" />
</form>
and I can upload files from my local computer up to the Domino server.

This work fine with small files, but my problem is that when I try to upload BIG files, let's say 200KB (shouldn't be a big deal), the "Request_content" variable is NULL!!!!

My agent :

Dim session As New NotesSession
Set doc = session.DocumentContext

'incoming is empty
incoming = doc.GetItemValue("Request_content")(0)

'Here, the size is right with small file, and around 576 Bytes with big files
Messagebox doc.size      
      

Anybody to help me ?

Thanks
0
Comment
Question by:Muldec
  • 5
  • 3
9 Comments
 
LVL 14

Expert Comment

by:p_partha
ID: 9885321
If you can tell what are you trying to achieve by printing request_content , we can help you out with alternatives, I tried attaching more than 576 bytes file , i cud succesfully print the value of request_content.

Let us know why do u need request_content information


Partha
0
 
LVL 31

Expert Comment

by:qwaletee
ID: 9892735
Which version of Domino are you using?
0
 
LVL 31

Expert Comment

by:qwaletee
ID: 9892867
Under R5, I'm not getting null content, but I am getting truncated contents in the 40k-60k limit range.
0
 

Author Comment

by:Muldec
ID: 9895066
qwaletee :
I'm using Domino 6.5
What are your results with files bigger than 100k ?

p_partha :
Well, I need to upload an unspecified number of files to the server. To achieve that, I've developped an ActiveX wich read files client-side and send a http-post-request multipart encoded. I need to get that request server-side to write files on the disk. My idea was to user the request_content. As I'm not a Lotus devolepper, maybe there is some other possibilities that I don't know.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 31

Accepted Solution

by:
qwaletee earned 250 total points
ID: 9895105
Do it the same way Notes would normally do it.  Create a form to post to.  Add a whole bund of file upload controls.  Use a QuerySave Agent to process the incoming document and its attachments.  WHat you will want to do is a loop similar to:

Dim s as new notesSession
Dim doc as notesDocument
Set doc = sdocumentConetxt
Dim fileNames
fileName = Evaluate("@AttachmentNames".doc)
Dim obj as notesEmbeddedObject
Forall fileName in fileNames
  Set obj = doc.getAttachment(fileName)
  obj.extractFile "C:\TEMP\" & fileName
End Forall
0
 
LVL 31

Expert Comment

by:qwaletee
ID: 9895117
You can also try other enctype values, as Domino does, but I don't think that will work particularly well.
0
 

Author Comment

by:Muldec
ID: 9895174
> Add a whole bund of file upload controls

I can't do that. The number of files that can be uploaded with my ActiveX control is illimited. So I can't create a form with a limited number of upload controls. Doing that, I could loose some files wich is not acceptable :)
0
 
LVL 31

Expert Comment

by:qwaletee
ID: 9895181
I'm not certain you really need to have all the upload controls... one might suffice.  And, even if you do need them all, thetruth is that if you put 500 in, you would be unlikely to ever have a problem.
0
 

Author Comment

by:Muldec
ID: 9895267
This is a do-it-yourself solution. But if there is no other way, I'll try it.
If there is no other answer and if it works, the points are yours.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For Desktop Techs: How to retain a user's Notes configuration data when swapping out the end user's computer. (Assuming that you are not upgrading to a completely different version of Notes client) All you need to do is: 1) install Notes o…
Article by: Rob
Notes 8.5 Archiving Steps and Tips This article covers setting up a Notes archive, and helps understand some of the menu choices making setting up and maintaining a Notes archive file easier.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

896 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now