Hello All,

I have updated my project
https://github.com/solomax/ajax-download/commit/453663a55f390e54354381ab0f009d194e37e87c
To set filename
But file being downloaded has random UUID as file name, what am I doing
wrong?

On Wed, Mar 29, 2017 at 9:31 PM, Maxim Solodovnik <[email protected]>
wrote:

> Will try to migrate all my use cases on a SNAPSHOT first
> Then will do
> Thanks Martin!
>
> On Wed, Mar 29, 2017 at 9:28 PM, Martin Grigorov <[email protected]>
> wrote:
> > Maxim, you can use Location.IFrame or Location.SameWindow too in -M5 (to
> be
> > released!).
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Wed, Mar 29, 2017 at 4:26 PM, Sven Meier <[email protected]> wrote:
> >
> >> In a minute :P
> >>
> >> Sven
> >>
> >>
> >>
> >> On 29.03.2017 16:15, Andrea Del Bene wrote:
> >>
> >>> Right when we will return to "success" :-)
> >>>
> >>> https://ci.apache.org/builders/wicket-master
> >>>
> >>> On Wed, Mar 29, 2017 at 4:07 PM, Maxim Solodovnik <
> [email protected]>
> >>> wrote:
> >>>
> >>> Wow, Thanks a lot!
> >>>> Could you please let me know when SNAPSHOT with the fix will be
> >>>> available?
> >>>>
> >>>> On Wed, Mar 29, 2017 at 8:50 PM, Sven Meier <[email protected]> wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> so we have to change the Location.Blob to use XMLHttpRequest
> directly,
> >>>>> because jQuery does not support blob downloads :/.
> >>>>>
> >>>>> I've change the JavaScript and now downloading of the zip works fine.
> >>>>>
> >>>>> FileSystemResource might not be the best candidate (because it's not
> >>>>> serializable), but you can use an indirection to prevent it being
> >>>>>
> >>>> serialized
> >>>>
> >>>>> along with AjaxDownload:
> >>>>>
> >>>>>          final AjaxDownload download = new AjaxDownload(
> >>>>>              new IResource()
> >>>>>              {
> >>>>>                  @Override
> >>>>>                  public void respond(Attributes attributes)
> >>>>>                  {
> >>>>>                      new
> >>>>> FileSystemResource(zipFile.toPath()).respond(attributes);
> >>>>>                  }
> >>>>>              }
> >>>>>          );
> >>>>>
> >>>>> Have fun
> >>>>> Sven
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 29.03.2017 15:12, Maxim Solodovnik wrote:
> >>>>>
> >>>>>> Filename is minor issue ....
> >>>>>> Main problem is invalid file :(
> >>>>>>
> >>>>>> How can I serve the file from file system? I thought
> >>>>>> filesystemreference
> >>>>>> if
> >>>>>> the best candidate .....
> >>>>>>
> >>>>>> WBR, Maxim
> >>>>>> (from mobile, sorry for the typos)
> >>>>>>
> >>>>>> On Mar 29, 2017 8:08 PM, "Sven Meier" <[email protected]> wrote:
> >>>>>>
> >>>>>> Hi Maxim,
> >>>>>>>
> >>>>>>> three things:
> >>>>>>>
> >>>>>>> - filename ... no one sets the file name :P
> >>>>>>>
> >>>>>>> - serializable error ... FileSystemResource holds a reference to
> the
> >>>>>>> path,
> >>>>>>> which is not serializable
> >>>>>>>
> >>>>>>> - corruct zip ... my bad, it seems that Location.Blob mangles the
> file
> >>>>>>>
> >>>>>> on
> >>>>
> >>>>> the client side
> >>>>>>>
> >>>>>>> I'll see what I can do about Location.Blob - it might be an
> encoding
> >>>>>>> issue.
> >>>>>>>
> >>>>>>> Have fun
> >>>>>>> Sven
> >>>>>>>
> >>>>>>>
> >>>>>>> On 29.03.2017 14:15, Maxim Solodovnik wrote:
> >>>>>>>
> >>>>>>> here you are: https://github.com/solomax/ajax-download
> >>>>>>>> Absolutely don't understand what is going on :(
> >>>>>>>>
> >>>>>>>> On Wed, Mar 29, 2017 at 6:30 PM, Maxim Solodovnik <
> >>>>>>>>
> >>>>>>> [email protected]>
> >>>>
> >>>>> wrote:
> >>>>>>>>
> >>>>>>>> Yep, zip file is valid
> >>>>>>>>> Breakpoint at AjaxDownload.ResourceBehavior#onRequest() is not
> hit
> >>>>>>>>>
> >>>>>>>> :(
> >>>>
> >>>>> Will try to create quickstart
> >>>>>>>>>
> >>>>>>>>> something extremely weird
> >>>>>>>>>
> >>>>>>>>> On Wed, Mar 29, 2017 at 2:22 AM, Martin Grigorov <
> >>>>>>>>>
> >>>>>>>> [email protected]>
> >>>>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Hi Maxim,
> >>>>>>>>>>
> >>>>>>>>>> On Tue, Mar 28, 2017 at 11:06 AM, Maxim Solodovnik <
> >>>>>>>>>> [email protected]>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>> Thanks a lot Martin for detailed explanation
> >>>>>>>>>>
> >>>>>>>>>>> I do have this functionality working with old version of
> >>>>>>>>>>>
> >>>>>>>>>> AjaxDownload
> >>>>
> >>>>> And here is my first try to migrate to the new internal wicket
> >>>>>>>>>>> AjaxDownload:
> >>>>>>>>>>> https://github.com/apache/openmeetings/commit/
> >>>>>>>>>>> 5fa2c87f212e4eecdd1368f2ae7fa8762832838f
> >>>>>>>>>>>
> >>>>>>>>>>> I would appreciate if you can take a look at this tiny commit.
> >>>>>>>>>>>
> >>>>>>>>>>> Something really doesn't work as expected ....
> >>>>>>>>>>>
> >>>>>>>>>>> Commited version behaves wrong:
> >>>>>>>>>>> 1) file downloaded has wrong name
> >>>>>>>>>>>
> >>>>>>>>>>> You do not set file name anywhere!
> >>>>>>>>>>>
> >>>>>>>>>> Keep a reference to the constructed ResourceResponse and call
> its
> >>>>>>>>>> #setFileName(...)
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> 2) is not valid zip file (cannot be opened)
> >>>>>>>>>>
> >>>>>>>>>>> Is the backupPath representing a ZIP file ?
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> 3) for some reason I'm not able to get to breakpoint at line 115
> >>>>>>>>>> [1]
> >>>>>>>>>>
> >>>>>>>>>>> Put a breakpoint at
> >>>>>>>>>>> AjaxDownload.ResourceBehavior#onResourceRequested()
> >>>>>>>>>>>
> >>>>>>>>>> and
> >>>>>>>>>> see what happens
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Additionally I got NotSerializable exception in case I made
> >>>>>>>>>>
> >>>>>>>>> "download"
> >>>>
> >>>>> class final variable
> >>>>>>>>>>>
> >>>>>>>>>>> java.nio.file.Path is not Serializable!
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> What am I doing wrong?
> >>>>>>>>>>
> >>>>>>>>>>> [1] https://github.com/apache/openmeetings/commit/
> >>>>>>>>>>> 5fa2c87f212e4eecdd1368f2ae7fa8762832838f#diff-
> >>>>>>>>>>> 0a499c88998a93ceb51c347836aa6195R115
> >>>>>>>>>>>
> >>>>>>>>>>> On Thu, Mar 23, 2017 at 3:16 AM, Martin Grigorov
> >>>>>>>>>>> <[email protected]
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> On Wed, Mar 22, 2017 at 12:59 PM, Maxim Solodovnik <
> >>>>>>>>>>>> [email protected]
> >>>>>>>>>>>>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> Actually I have 2 example use cases:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> 1) user selects files on file tree
> >>>>>>>>>>>>> 2) as soon as file is selected and download is enabled for
> it,
> >>>>>>>>>>>>>
> >>>>>>>>>>>> used
> >>>>
> >>>>> can
> >>>>>>>>>>>>> press ajax download button and get the file
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Another case:
> >>>>>>>>>>>>> User requests system backup
> >>>>>>>>>>>>> As soon as backup is created (Progress complete)
> >>>>>>>>>>>>> Download of newly created file should be initiated
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I can't create ResourceReference and override
> getResourceStream
> >>>>>>>>>>>>>
> >>>>>>>>>>>> of
> >>>>
> >>>>> it
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> since
> >>>>>>>>>>>> I only have resource just before download
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Wicket IResource is an abstraction over the real resource.
> >>>>>>>>>>>>>
> >>>>>>>>>>>> In my case i also create the response on the fly. It is
> either a
> >>>>>>>>>>>> single
> >>>>>>>>>>>> File or a Zip file with several entries.
> >>>>>>>>>>>> The ResourceReference is more or less just an endpoint with
> >>>>>>>>>>>> almost
> >>>>>>>>>>>> no
> >>>>>>>>>>>>
> >>>>>>>>>>>> logic
> >>>>>>>>>>>
> >>>>>>>>>>> at all. It just creates the IResource.
> >>>>>>>>>>>> The IResource uses the information from the request
> parameters /
> >>>>>>>>>>>> session
> >>>>>>>>>>>>
> >>>>>>>>>>>> /
> >>>>>>>>>>>
> >>>>>>>>>>> somewhere else to create the actual response (the files).
> >>>>>>>>>>>>
> >>>>>>>>>>>> AjaxDownload is an Ajax behavior that you can use to trigger
> the
> >>>>>>>>>>>> creation
> >>>>>>>>>>>> of the files and by using its callback methods you can show
> >>>>>>>>>>>>
> >>>>>>>>>>> feedback
> >>>>
> >>>>> to
> >>>>>>>>>>>>
> >>>>>>>>>>>> the
> >>>>>>>>>>>
> >>>>>>>>>>> user. To show progress bar you will need to employ ProgressBar
> >>>>>>>>>>>>
> >>>>>>>>>>> from
> >>>>
> >>>>> wicket-extentions or use WebSockets.
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Wed, Mar 22, 2017 at 6:53 PM, Martin Grigorov <
> >>>>>>>>>>>>
> >>>>>>>>>>>>> [email protected]>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Hi Maxim,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> I use the new AjaxDownload with a ResourceReference, i.e.
> >>>>>>>>>>>>>> AjaxDownload#AjaxDownload(org.apache.wicket.request.
> >>>>>>>>>>>>>> resource.ResourceReference,
> >>>>>>>>>>>>>> org.apache.wicket.request.mapper.parameter.PageParameters)
> >>>>>>>>>>>>>> The ResourceReference has
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> public IResource getResource() {
> >>>>>>>>>>>>>>        return new StatementDownloadResource();
> >>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> StatementDownloadResource extends ResourceStreamResource and
> >>>>>>>>>>>>>> provides
> >>>>>>>>>>>>>> implementation of #getResourceStream(). There I have a logic
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>> that
> >>>>
> >>>>> returns
> >>>>>>>>>>>>>
> >>>>>>>>>>>> either FileResourceStream or ZipResourceStream.
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Martin Grigorov
> >>>>>>>>>>>>>> Wicket Training and Consulting
> >>>>>>>>>>>>>> https://twitter.com/mtgrigorov
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On Wed, Mar 22, 2017 at 12:30 PM, Maxim Solodovnik <
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> [email protected]
> >>>>>>>>>>>>>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Just have tried to switch to this AjaxDownload component
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> And it seems I cannot find proper way to use it with
> dynamic
> >>>>>>>>>>>>>>> file,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> i.e.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>> previously
> >>>>>>>>>>>>
> >>>>>>>>>>>>> I created AjaxDownload,
> >>>>>>>>>>>>>>> added it to the page
> >>>>>>>>>>>>>>> then at the moment I know what file should be served, I set
> >>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> stream
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>> and
> >>>>>>>>>>>>
> >>>>>>>>>>>>> initiate the download
> >>>>>>>>>>>>>>> (for example one of use cases: I need to create zip file
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> right now this seems to be impossible :(
> >>>>>>>>>>>>>>> Can you give me a hint how this dynamic nature can be
> >>>>>>>>>>>>>>> implemented?
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> --
> >>>>>>>>>>>>>>> WBR
> >>>>>>>>>>>>>>> Maxim aka solomax
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> --
> >>>>>>>>>>>>> WBR
> >>>>>>>>>>>>> Maxim aka solomax
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> --
> >>>>>>>>>>> WBR
> >>>>>>>>>>> Maxim aka solomax
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> --
> >>>>>>>>> WBR
> >>>>>>>>> Maxim aka solomax
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>
> >>>> --
> >>>> WBR
> >>>> Maxim aka solomax
> >>>>
> >>>>
> >>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
WBR
Maxim aka solomax

Reply via email to