jspwiki-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Janne Jalkanen <Janne.Jalka...@ecyrd.com>
Subject Re: VS: Re: Upload Question
Date Tue, 14 Oct 2008 16:48:09 GMT

Ah yes, found the answer from the FAQ:

"Why is parseRequest() returning no items?
     This most commonly happens when the request has already been  
parsed, or processed in some other way. Since the input stream has  
aleady been consumed by that earlier process, it is no longer  
available for parsing by Commons FileUpload. "

Therefore, since JSPWiki has already parsed the request (e.g. by  
using request.getParameter()), FileUpload can no longer parse the  
request and therefore fails.  There is no way around this in a  
Plugin, I'm afraid...

The only option is probably to create your own Servlet and send the  
request there.  Look how AttachmentServlet handles things, that  
should help you to construct your own Servlet to handle your own  
upload.  If you want to use WikiForms, you can use the "submit" - 
parameter of FormOpen to point at your own servlet.

/Janne

On Oct 14, 2008, at 16:41 , Benedikt Mohrmann wrote:

> Hi,
>
> I just tried another thing.
> I wrote a second plugin which contains the following code:
>    StringBuffer returnStringBuffer = new StringBuffer();
>
>    @Override
>    public String execute(WikiContext context, Map params) throws  
> PluginException {
>                          returnStringBuffer.append("<div class= 
> \"wikiform\">");
>        returnStringBuffer.append("<form action=\"Wiki.jsp? 
> page=MyTest\" name=\"uploadForm\" accept-charset=\"UTF-8\" method= 
> \"post\" enctype=\"multipart/form-data\">");
>        returnStringBuffer.append("<input type=\"hidden\" name= 
> \"formname\" value=\"uploadForm\"/>");
>        returnStringBuffer.append("<input name=\"nbf_uploadInput\"  
> type=\"file\" value=\"\" /><input type=\"submit\" name= 
> \"nbf_uploadFile\" id=\"upload\" value=\"Hochladen\" />");
>        returnStringBuffer.append("</form></div>");                 
> return returnStringBuffer.toString();
>    }
>
> }
>
> I integrated the plugin into a WikiPage and in addition the following:
> [{FormOutput form='uploadForm' handler='MyPlugin'}]
>
> When I hit the button there happens nothing again.
>
> Now when I change the sourcecode an write
> enctype=\"application/x-www-form-urlencoded\">" instead of enctype= 
> \"multipart/form-data\">"
>
> everything works fine again.
>
> Something is definetely not able to handle the other format.
>
> Any ideas?
>
> Best regards
> Benedikt
>
>
>
>
> Benedikt Mohrmann schrieb:
>> Hi,
>>
>> I definetely know that it is a problem with the MyFormOpenPlugin!!!
>>
>> No plugin gets activated, when I use the MyFormOpenPlugin.
>>
>> I just copied the FormOpen Plugin and changed the one line to get  
>> a "multipart/form-data".
>> In addition I deleted the following:
>>    private static org.apache.log4j.Logger log =
>>        org.apache.log4j.Logger.getLogger( MyFormOpen.class );
>>
>>   log.debug( "Previous FormInfo for this form was found in  
>> context." );
>>
>>
>> But I don`t think that this can be the problem.
>>
>> Is there any other way to get out of this mysery?
>>
>> Best regards
>> Benedikt
>>
>>
>> Benedikt Mohrmann schrieb:
>>> Hi,
>>>
>>> does anyone have a clue, how to solve this problem?
>>>
>>> Best regards
>>> Benedikt
>>>
>>>
>>> Benedikt Mohrmann schrieb:
>>>> Hi,
>>>>
>>>> here is the resulting HTML code:
>>>>
>>>> <div class="wikiform">
>>>> <form action="Wiki.jsp?page=MyTest" name="uploadForm" accept- 
>>>> charset="UTF-8" method="post" enctype="multipart/form-data">
>>>>  <input type="hidden" name="formname" value="uploadForm"/>
>>>>
>>>> <input name='nbf_uploadInput' type='file' value=''/>
>>>>
>>>> </p>
>>>> <p />
>>>> <p><input name='nbf_uploadFile' type='submit' value='Upload'/>
>>>>
>>>> </form>
>>>> </div>
>>>>
>>>> Regards
>>>> Benedikt
>>>>
>>>>
>>>> Janne Jalkanen schrieb:
>>>>> And could you also provide the HTML code resulting from this  
>>>>> invocation?
>>>>>
>>>>> /Janne
>>>>>
>>>>> On 11 Oct 2008, at 20:37, Benedikt Mohrmann wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> the plugin should be activated by a click on the button.
>>>>>>
>>>>>> Here is the WikiPage
>>>>>>
>>>>>> [{FormSet form='uploadForm'}]
>>>>>> [{MyFormOpen form='uploadForm'}]
>>>>>> [{FormInput type='file' name='uploadInput'}]
>>>>>>
>>>>>>
>>>>>> [{FormInput type='submit' name='uploadFile' value='Upload'}]
>>>>>> [{FormOutput form='uploadForm' handler='MyPlugin'}]
>>>>>> [{FormClose}]
>>>>>>
>>>>>> Best regards
>>>>>> Benedikt
>>>>>>
>>>>>>
>>>>>> Janne Jalkanen schrieb:
>>>>>>>
>>>>>>> And how do you use this on a page?
>>>>>>>
>>>>>>> /Janne
>>>>>>>
>>>>>>> On 11 Oct 2008, at 14:52, Benedikt Mohrmann wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> the plugin is quite easy:
>>>>>>>> public class MyPlugin implements WikiPlugin {
>>>>>>>>
>>>>>>>>    @Override
>>>>>>>>    public String execute(WikiContext context, Map params)
 
>>>>>>>> throws PluginException {
>>>>>>>>              HttpServletRequest request =  
>>>>>>>> context.getHttpRequest();
>>>>>>>>        boolean isMultipart =  
>>>>>>>> ServletFileUpload.isMultipartContent(request);
>>>>>>>>              // Create a factory for disk-based file items
>>>>>>>>        FileItemFactory factory = new DiskFileItemFactory();
>>>>>>>>
>>>>>>>>        // Create a new file upload handler
>>>>>>>>        ServletFileUpload upload = new ServletFileUpload 
>>>>>>>> (factory);
>>>>>>>>
>>>>>>>>        // Parse the request
>>>>>>>>        List<FileItem> items = null;
>>>>>>>>        try {
>>>>>>>>            items = upload.parseRequest(request);
>>>>>>>>        } catch (Exception e) {
>>>>>>>>            // TODO Auto-generated catch block
>>>>>>>>                      return "BUG";
>>>>>>>>        }
>>>>>>>>              boolean empty = items.isEmpty();
>>>>>>>>        String valueOf = String.valueOf(empty);
>>>>>>>>
>>>>>>>>
>>>>>>>>        return valueOf + "Works";
>>>>>>>>    }
>>>>>>>> }
>>>>>>>>
>>>>>>>> As I said, when I hit the submitButton nothing happens.
>>>>>>>>
>>>>>>>> Best regards
>>>>>>>> Benedikt
>>>>>>>>
>>>>>>>>
>>>>>>>> jalkanen@ecyrd.com schrieb:
>>>>>>>>> Hi!
>>>>>>>>>
>>>>>>>>> I think we might need to see the code. Can you post it
to  
>>>>>>>>> the list, please?
>>>>>>>>>
>>>>>>>>> /janne
>>>>>>>>>
>>>>>>>>> -- alkuper. viesti --
>>>>>>>>> Aihe: Re: Upload Question
>>>>>>>>> Lähettäjä: Benedikt Mohrmann <mohrmann@mail.upb.de>
>>>>>>>>> Päivämäärä: 11.10.2008 12:42
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I did all this.
>>>>>>>>> The HTML output is how it should be, but the request
is not  
>>>>>>>>> handled when I hit the button.
>>>>>>>>>
>>>>>>>>> The WikiSite:
>>>>>>>>> [{FormSet form='uploadForm'}]
>>>>>>>>> [{MyFormOpen form='uploadForm'}]
>>>>>>>>> [{FormInput type='file' name='uploadInput'}]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [{FormInput type='submit' name='uploadFile' value='Upload'}]
>>>>>>>>> [{FormOutput form='uploadForm' handler='MyPlugin'}]
>>>>>>>>> [{FormClose}]
>>>>>>>>>
>>>>>>>>> To test it I wrote a plugin which justs returns "Works".
>>>>>>>>> Now when I switch to the normal FormOpen tag ([{FormOpen
 
>>>>>>>>> form='uploadForm'}]) the output is "Works".
>>>>>>>>> When I use my own one, there is no output.
>>>>>>>>>
>>>>>>>>> Any ideas, why this is not handled?
>>>>>>>>>
>>>>>>>>> Best regards
>>>>>>>>> Benedikt
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Janne Jalkanen schrieb:
>>>>>>>>>
>>>>>>>>>> They are real plugins.
>>>>>>>>>>
>>>>>>>>>> I recommend that you copy FormOpen.java to  
>>>>>>>>>> MyFormOpen.java, rename the class, change the code,
and  
>>>>>>>>>> then use [{MyFormOpen}] instead of [{FormOpen}] in
the  
>>>>>>>>>> plugins that you need.
>>>>>>>>>>
>>>>>>>>>> You can easily write your own plugin which does what
you  
>>>>>>>>>> said:
>>>>>>>>>>
>>>>>>>>>> package whatever.package.you.use;
>>>>>>>>>>
>>>>>>>>>> public class MyPlugin implements WikiPlugin
>>>>>>>>>> {
>>>>>>>>>>    public String execute(WikiContext ctx, Map params)
>>>>>>>>>>    {
>>>>>>>>>>           returnStringBuffer.append("<div class=\"wikiform

>>>>>>>>>> \">");
>>>>>>>>>>           returnStringBuffer.append("<form action=

>>>>>>>>>> \"Wiki.jsp?page=MyTest\" name=\"uploadForm\" accept-

>>>>>>>>>> charset=\"UTF-8\" method=\"post\"               
    
>>>>>>>>>> enctype=\"multipart/form-data\">");
>>>>>>>>>>        returnStringBuffer.append("<input type=\"hidden\"
 
>>>>>>>>>> name=\"formname\" value=\"uploadForm\"/>");
>>>>>>>>>>        returnStringBuffer.append("<input name=\"nbf_Datei

>>>>>>>>>> \" type=\"file\"><input type=\"submit\" name=\"nbf_upload

>>>>>>>>>> \" id=\"upload\" value=\"Hochladen\" />");
>>>>>>>>>>
>>>>>>>>>>       return returnStringBuffer.toString();
>>>>>>>>>>     }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> then use [{whatever.package.you.use.MyPlugin}] on
a  
>>>>>>>>>> wikipage.  I don't know what it does, but it is easy
:-)
>>>>>>>>>>
>>>>>>>>>> /Janne
>>>>>>>>>>
>>>>>>>>>> On Oct 10, 2008, at 16:16 , Benedikt Mohrmann wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> the problem is that the Forms are directly in
the  
>>>>>>>>>>> JSPWiki.jar file.
>>>>>>>>>>> Thus they are no real plugins I guess.
>>>>>>>>>>> I tried to change the FormOpen.java and inserted
>>>>>>>>>>>        tag.append( "\" method=\""+method+"\"
enctype= 
>>>>>>>>>>> \"multipart/form-data\">\n" );
>>>>>>>>>>> then build the class file and just put it into
the  
>>>>>>>>>>> JSPWiki.jar.
>>>>>>>>>>>
>>>>>>>>>>> As a result all the other plugins which use forms
were  
>>>>>>>>>>> not working correctly (that was of course clear).
>>>>>>>>>>> But my Upload Plugin did not work, too.
>>>>>>>>>>> When I hit the submit button nothing happened.
>>>>>>>>>>>
>>>>>>>>>>> Is there no possibility to insert a plugin which
creates  
>>>>>>>>>>> HTML code the following way:
>>>>>>>>>>>        returnStringBuffer.append("<div class=\"wikiform

>>>>>>>>>>> \">");
>>>>>>>>>>>        returnStringBuffer.append("<form action=\"Wiki.jsp?

>>>>>>>>>>> page=MyTest\" name=\"uploadForm\" accept-charset=\"UTF-8

>>>>>>>>>>> \" method=\"post\" enctype=\"multipart/form-data\">");
>>>>>>>>>>>        returnStringBuffer.append("<input type=\"hidden\"
 
>>>>>>>>>>> name=\"formname\" value=\"uploadForm\"/>");
>>>>>>>>>>>        returnStringBuffer.append("<input name=\"nbf_Datei

>>>>>>>>>>> \" type=\"file\"><input type=\"submit\"
name=\"nbf_upload 
>>>>>>>>>>> \" id=\"upload\" value=\"Hochladen\" />");
>>>>>>>>>>>
>>>>>>>>>>> Then just integrate the plugin into the WikiPage.
>>>>>>>>>>>
>>>>>>>>>>> And then put a second plugin via [{FormOutput
 
>>>>>>>>>>> form='uploadForm' handler='MyPlugin'}] into the
WikiPage?
>>>>>>>>>>>
>>>>>>>>>>> At the moment this seems not to work, as nothing
happens  
>>>>>>>>>>> when I click on the submit button.
>>>>>>>>>>>
>>>>>>>>>>> Best regards
>>>>>>>>>>> Benedikt
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Janne Jalkanen schrieb:
>>>>>>>>>>>
>>>>>>>>>>>> Probably the quickest way for you now is
to simply make  
>>>>>>>>>>>> a copy of the
>>>>>>>>>>>> relevant Form plugin, name it something else,
and just  
>>>>>>>>>>>> change the
>>>>>>>>>>>> enctype.
>>>>>>>>>>>>
>>>>>>>>>>>> Also please put in a JIRA request for the
enctype to be  
>>>>>>>>>>>> changeable,
>>>>>>>>>>>> and we'll snatch it in either 2.8.1 or 3.0.
>>>>>>>>>>>>
>>>>>>>>>>>> /Janne
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Oct 10, 2008 at 10:50:32AM +0200,
Benedikt  
>>>>>>>>>>>> Mohrmann wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> just checked it again.
>>>>>>>>>>>>> The problem is definetely the form:
>>>>>>>>>>>>> org.apache.commons.fileupload.FileUploadBase

>>>>>>>>>>>>> $InvalidContentTypeException: the request
doesn't  
>>>>>>>>>>>>> contain a multipart/form-data or multipart/mixed
 
>>>>>>>>>>>>> stream, content type header is application/x-www-form-

>>>>>>>>>>>>> urlencoded
>>>>>>>>>>>>>
>>>>>>>>>>>>> Pretty bad that you can not change the
enctype.
>>>>>>>>>>>>> In the Wiki Src it is:
>>>>>>>>>>>>> tag.append( "\" method=\""+method+"\"
enctype= 
>>>>>>>>>>>>> \"application/x-www-form-urlencoded\">\n"
);
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can't I just change this?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Another way could be to write a plugin
with the  
>>>>>>>>>>>>> following code (snippet):
>>>>>>>>>>>>>        returnStringBuffer.append("<div
class=\"wikiform 
>>>>>>>>>>>>> \">");
>>>>>>>>>>>>>        returnStringBuffer.append("<form
action= 
>>>>>>>>>>>>> \"Wiki.jsp?page=MyTest\" name=\"uploadForm\"
accept- 
>>>>>>>>>>>>> charset=\"UTF-8\" method=\"post\" enctype=\"multipart/

>>>>>>>>>>>>> form-data\">");
>>>>>>>>>>>>>        returnStringBuffer.append("<input
type=\"hidden 
>>>>>>>>>>>>> \" name=\"formname\" value=\"uploadForm\"/>");
>>>>>>>>>>>>>        returnStringBuffer.append("<input
name= 
>>>>>>>>>>>>> \"nbz_Datei\" type=\"file\"><input
type=\"submit\" name= 
>>>>>>>>>>>>> \"nbz_upload\" id=\"upload\" value=\"Hochladen\"
/>");
>>>>>>>>>>>>>        returnStringBuffer.append("</form></div>");
>>>>>>>>>>>>>
>>>>>>>>>>>>> This would create a form, but how can
I tell the Wiki  
>>>>>>>>>>>>> which plugin to use, when the button
is hit?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards
>>>>>>>>>>>>> Benedikt
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Janne Jalkanen schrieb:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I think it is important to look into
the cause... The  
>>>>>>>>>>>>>> stack trace would be important, yes.
 There could be  
>>>>>>>>>>>>>> many things failing.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> /Janne
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Oct 9, 2008, at 19:15 , Harry
Metske wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I think so too (multipart/form-data),
but can you  
>>>>>>>>>>>>>>> print the stacktrace just
>>>>>>>>>>>>>>> before returning " BUG" , maybe
you'll get a clue then ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The FormOpen class currently
has a hardcoded
>>>>>>>>>>>>>>> "application/x-www-form-urlencoded",
I think this  
>>>>>>>>>>>>>>> should be parameterizable
>>>>>>>>>>>>>>> with the current value as the
default.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> regards,
>>>>>>>>>>>>>>> Harry
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2008/10/9 Benedikt Mohrmann <mohrmann@mail.upb.de>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I tried a few things already,
but did not get it to  
>>>>>>>>>>>>>>>> work so far.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> At first I created a new
site, which contains:
>>>>>>>>>>>>>>>> [{FormSet form='searchForm'}]
>>>>>>>>>>>>>>>> [{FormOpen form='searchForm'}]
>>>>>>>>>>>>>>>> [{FormInput type='file' name='searchInput'}]
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> [{FormInput type='submit'
name='submit'  
>>>>>>>>>>>>>>>> value='Submit'}]
>>>>>>>>>>>>>>>> [{FormClose}]
>>>>>>>>>>>>>>>> [{FormOutput form='searchForm'
handler='MyTest2'}]
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thus there is only a form
where you can upload your  
>>>>>>>>>>>>>>>> data.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The Plugin contains the following
code (at this time  
>>>>>>>>>>>>>>>> really simple, just to
>>>>>>>>>>>>>>>> check if it works):
>>>>>>>>>>>>>>>> public class MyTest2 implements
WikiPlugin {
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>  @Override
>>>>>>>>>>>>>>>>  public String execute(WikiContext
context, Map  
>>>>>>>>>>>>>>>> params) throws
>>>>>>>>>>>>>>>> PluginException {
>>>>>>>>>>>>>>>>            HttpServletRequest
request =  
>>>>>>>>>>>>>>>> context.getHttpRequest();
>>>>>>>>>>>>>>>>      boolean isMultipart
=  
>>>>>>>>>>>>>>>> ServletFileUpload.isMultipartContent(request);
>>>>>>>>>>>>>>>>            // Create a factory
for disk-based file  
>>>>>>>>>>>>>>>> items
>>>>>>>>>>>>>>>>      FileItemFactory factory
= new  
>>>>>>>>>>>>>>>> DiskFileItemFactory();
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>      // Create a new file
upload handler
>>>>>>>>>>>>>>>>      ServletFileUpload upload
= new ServletFileUpload 
>>>>>>>>>>>>>>>> (factory);
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>      // Parse the request
>>>>>>>>>>>>>>>>      List<FileItem>
items = null;
>>>>>>>>>>>>>>>>      try {
>>>>>>>>>>>>>>>>          items = upload.parseRequest(request);
>>>>>>>>>>>>>>>>      } catch (Exception e)
{
>>>>>>>>>>>>>>>>          // TODO Auto-generated
catch block
>>>>>>>>>>>>>>>>          return "BUG";
>>>>>>>>>>>>>>>>      }
>>>>>>>>>>>>>>>>      return "Works";
>>>>>>>>>>>>>>>>  }
>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> So far I always get the "BUG"
output when I choose a  
>>>>>>>>>>>>>>>> file and hit the
>>>>>>>>>>>>>>>> submitbutton.
>>>>>>>>>>>>>>>> One problem could be that
when I take a look at the  
>>>>>>>>>>>>>>>> produced HTML code, the
>>>>>>>>>>>>>>>> form is introduced with:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> <form action="Wiki.jsp?page=MyTest"
name="searchForm"
>>>>>>>>>>>>>>>> accept-charset="UTF-8" method="post"
>>>>>>>>>>>>>>>> enctype="application/x-www-form-urlencoded">
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I think it should be the
enctype: multipart/form-data
>>>>>>>>>>>>>>>> But I don't know if that
is the point.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Any other ideas?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>> Benedikt
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Harry Metske schrieb:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> my previous answer was
a bit too much in a hurry....
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> first your compile, Eclipse
tells you there is no  
>>>>>>>>>>>>>>>>> method getHttpRequest
>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>> a wiki context, that
is strange, looking at the  
>>>>>>>>>>>>>>>>> source it does have it
:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ........
>>>>>>>>>>>>>>>>>   /**
>>>>>>>>>>>>>>>>>    *  If the request
did originate from a HTTP  
>>>>>>>>>>>>>>>>> request,
>>>>>>>>>>>>>>>>>    *  then the HTTP request
can be fetched here.   
>>>>>>>>>>>>>>>>> However, it the request
>>>>>>>>>>>>>>>>>    *  did NOT originate
from a HTTP request, then  
>>>>>>>>>>>>>>>>> this method will
>>>>>>>>>>>>>>>>>    *  return null, and
YOU SHOULD CHECK FOR IT!
>>>>>>>>>>>>>>>>>    *
>>>>>>>>>>>>>>>>>    *  @return Null, if
no HTTP request was done.
>>>>>>>>>>>>>>>>>    *  @since 2.0.13.
>>>>>>>>>>>>>>>>>    */
>>>>>>>>>>>>>>>>>   public HttpServletRequest
getHttpRequest()
>>>>>>>>>>>>>>>>>   {
>>>>>>>>>>>>>>>>>       return m_request;
>>>>>>>>>>>>>>>>>   }
>>>>>>>>>>>>>>>>> .......
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> and if you can't compile
it, I shouldn't even try  
>>>>>>>>>>>>>>>>> to run it.
>>>>>>>>>>>>>>>>> Maybe you can reply the
complete source of your  
>>>>>>>>>>>>>>>>> plugin ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> regards,
>>>>>>>>>>>>>>>>> Harry
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2008/10/8 Benedikt Mohrmann
<mohrmann@mail.upb.de>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> thanks for your answer-
I already had a look at  
>>>>>>>>>>>>>>>>>> commons fileupload.
>>>>>>>>>>>>>>>>>> But the problem is,
when I use:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> HttpServletRequest
request = context.getHttpRequest 
>>>>>>>>>>>>>>>>>> ();
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> JSPWiki tells me
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> HttpServletRequest
cannot be resolved to a type
>>>>>>>>>>>>>>>>>> The type javax.servlet.http.HttpServletRequest
 
>>>>>>>>>>>>>>>>>> cannot be resolved.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> In addition I am
implementing my plugin in Eclipse  
>>>>>>>>>>>>>>>>>> and it tells me that
>>>>>>>>>>>>>>>>>> there is no method
getHttpRequest for a wiki context.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>>>> Benedikt
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Harry Metske schrieb:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Benedikt,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> in your plugin
you have access to the  
>>>>>>>>>>>>>>>>>>> HttpServletRequest
(
>>>>>>>>>>>>>>>>>>> HttpServletRequest
request =  
>>>>>>>>>>>>>>>>>>> context.getHttpRequest();
) .
>>>>>>>>>>>>>>>>>>> Once you have
this, I think you can use many  
>>>>>>>>>>>>>>>>>>> samples/tools
to handle the
>>>>>>>>>>>>>>>>>>> uploaded file,
but maybe the best one is commons  
>>>>>>>>>>>>>>>>>>> fileupload (
>>>>>>>>>>>>>>>>>>> http://commons.apache.org/fileupload/using.html),
 
>>>>>>>>>>>>>>>>>>> this binary jar
is
>>>>>>>>>>>>>>>>>>> already
>>>>>>>>>>>>>>>>>>> in the JSPWiki
distribution.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> regards,
>>>>>>>>>>>>>>>>>>> Harry
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 2008/10/7 Benedikt
Mohrmann <mohrmann@mail.upb.de>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> my intention
is to upload a file via JSPWiki,  
>>>>>>>>>>>>>>>>>>>> but not as
an attachment.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I am trying
to upload a file, thus I created a  
>>>>>>>>>>>>>>>>>>>> form containing
a file
>>>>>>>>>>>>>>>>>>>> chooser and
a submitbutton.
>>>>>>>>>>>>>>>>>>>> The goal
is, that the input file is transferred  
>>>>>>>>>>>>>>>>>>>> to the server
and then
>>>>>>>>>>>>>>>>>>>> handled by
a plugin I wrote.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The plugin
just puts the file as a Serializable  
>>>>>>>>>>>>>>>>>>>> into a database
(which
>>>>>>>>>>>>>>>>>>>> already works,
when I read a file from my  
>>>>>>>>>>>>>>>>>>>> harddisk).
>>>>>>>>>>>>>>>>>>>> But I am
not yet not able to transfer the  
>>>>>>>>>>>>>>>>>>>> content of
the file as a
>>>>>>>>>>>>>>>>>>>> stream
>>>>>>>>>>>>>>>>>>>> or something
like that.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Any experiences
how this could work?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>>>>>> Benedikt
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>


Mime
View raw message