Skip to content

When uploading from uppy a 0 bytes file, the upload never ends (from the server's point-of-view) #73

@costescuandrei

Description

@costescuandrei

When using a Angular https://github.com/transloadit/uppy widget in the browser to upload and server side

	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		tusFileUploadService.process(req, resp);
		(...)
		String uploadURI = Paths.get(req.getRequestURI()).normalize().toString().replace('\\', '/');
		uploadInfo = this.tusFileUploadService.getUploadInfo(uploadURI);

What happens is that uploadInfo == null after it's first called to prepare the upload, So TusFileUploadService expects that the browser will do some more calls. But for a 0 size file that is not the case: the client side uppy/tus code sees that the size is 0, thinks it sent all it needed to send to the server (including the file size) and thinks it's done.

Even if I take the URI from the response

uploadInfo = this.tusFileUploadService.getUploadInfo(resp.getHeader("Location"));

in which case uploadInfo is not null, still, uploadInfo.isUploadInProgress() is still true.

I did debug in-depth at some point and server side code does expect more to arrive from the client to consider the upload complete.

I think the client is right here according to the TUS protocol.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions