Using Vaadin 7.1.3 currently but same problem was in earlier versions too.
Upload is in immediate mode.
It works fine for the first time.
But if same file is uploaded again it sometimes hangs up and nothing is happening.
No errors visible.
If you upload some other file it is uploaded.
After that teh original file upload works again.
It is not happening every time but quite often Upload component is not doing anything.
Is there a known bug or can this be handled in some other way?
Reason:
Our application is checking the file content and gives user an error if content is not OK.
User can edit the file and upload it again.
If still errors user edits file and tries again.
End customer will not be happy if this happens and will complain to us that our application is not working.
Attached is shortened example how Upload is used 13236.java (5.24 KB)
But I do notice you dont create a new ByteArrayOutputStream when you receiveUpload , perhaps your byteOutput is not in a good state when the next upload occurs…
I have not had any reports from the end-users that the upload screens have problems and I have not seen any , but it is possible that you have a combination that causes some problem …
Also it might be advised to update to the latest 7.1.7…
I am having the exact same problem. In immediate mode, if you select the same file twice it does not trigger the upload. No exception nothing, it just does not do anything. If you select another file it works as expected.
I have rechecked that it does work with
Server: GlassFish 3.1.2.2
Browsers: Firefix 24.0 ( Mac and Linux ) , Safary 6.0.5 (8536.30.1)
Vaadin 7.1.7
Test1 : upload same 14KB file 20 times.
Test2 : upload same 9MB file 20 times.
Works.
I think the next step will have to be a small test app, that you confirmed is not working for you ( and upload to that Ticket ).
But my gut feel is it must be something with the server…
If I have 30 minutes free later today , I’ll make a small test app.
I have exactly the same problem as you. I tried everything I could on the Upload component.
The only solution I have for now is to catch this exception in my exception handler, but it’s ugly as you can imagine (I check its message to distinguish it from other IOExceptions…).
I don’t know what else to do unfortunately.