incubator-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: Upload Question
Date Fri, 10 Oct 2008 06:11:12 GMT

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