I've gotten react-fine-uploader uploading a large file in chunks with .NET Core REST API. The chunks write correctly to the filesystem, and I'm sending a {"success": true} 200 response, which the Fine Uploader javascript seems to like. But now, with each OK response, the browser prompts me to confirm whether I'd like to reload the window or cancel. I have no idea why this is happening. If I click Cancel, the next chunk will upload successfully, and I send the next OK response, and I get the same browser prompt again. What could be causing this?
If I keep clicking Cancel for each chunk all the way to the end, it will finish the entire upload and fire off the chunk success endpoint call. I'm totally scratching my head. I've tried turning off each front end option one at a time, but it doesn't help. Any ideas greatly appreciated.
upload.js:
import React, { Component } from 'react'
import FineUploaderTraditional from 'fine-uploader-wrappers'
import Gallery from 'react-fine-uploader'
import 'react-fine-uploader/gallery/gallery.css'
const uploader = new FineUploaderTraditional({
options: {
debug: true,
chunking: {
enabled: true,
concurrent: {
enabled: false
},
success: {
endpoint: '/api/File/LargeUploadComplete'
}
},
deleteFile: {
enabled: false
},
request: {
endpoint: '/api/File/LargeUpload'
},
resume: {
//enabled: true
},
retry: {
showButton: true
//, enableAuto: true
}
}
})
class Upload extends Component {
render() {
return (
<Gallery uploader={uploader} />
)
}
}
export default Upload
Here's the output from the fine-uploader debugger. You can see the 200 responses:
dnd.js:162 Grabbed 1 dropped files.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Received 1 files.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onValidateBatch - waiting for onValidateBatch promise to be fulfilled for batch validation
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onValidateBatch promise success for batch validation
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onValidate - waiting for onValidate promise to be fulfilled for Item 'q4.csv', size: 59894927
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onValidate promise success for Item 'q4.csv', size: 59894927
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Attempting to validate image.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onSubmit - waiting for onSubmit promise to be fulfilled for 0
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onSubmit promise success for 0
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Attempting to draw client-side image preview.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Attempting to determine if q4.csv can be rendered in this browser
fine-uploader.core.js:162 [Fine Uploader 5.16.2] First pass: check type attribute of blob object.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] q4.csv is not previewable in this browser per the blob's type attr
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Not previewable
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onUpload for 0 returned a Promise - waiting for resolution.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onUploadChunk for 0.0 returned a Promise - waiting for resolution.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Sending chunked upload request for item 0.0, bytes 1-2000000 of 59894927.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] xhr - server response received for 0
fine-uploader.core.js:162 [Fine Uploader 5.16.2] responseText = {"success":true}
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Received response status 200 with body: {"success":true}
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Chunked upload request succeeded for 0, chunk 0
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Chunk 0 for file 0 uploaded successfully.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onUploadChunk for 0.1 returned a Promise - waiting for resolution.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Sending chunked upload request for item 0.1, bytes 2000001-4000000 of 59894927.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] xhr - server response received for 0
fine-uploader.core.js:162 [Fine Uploader 5.16.2] responseText = {"success":true}
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Received response status 200 with body: {"success":true}
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Chunked upload request succeeded for 0, chunk 1
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Chunk 1 for file 0 uploaded successfully.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] onUploadChunk for 0.2 returned a Promise - waiting for resolution.
fine-uploader.core.js:162 [Fine Uploader 5.16.2] Sending chunked upload request for item 0.2, bytes 4000001-6000000 of 59894927.
Not that anyone really cares, but it was happening when I was using VS Code debugger. Apparently it was really slowing down the uploaded chunks. I tweaked the settings a little (5 concurrent uploads, 5MB each) and I just started the server up in normal mode, and I don't get the error anymore. Hope this helps out some poor shmuck somewhere.