I have been having the following error when uploading images through the tm1-ui-upload directive for about half a year now. I was hoping the 3.* would fix the error but it did not. Image uploads are never successful. Even with a blank empty page. Not sure if there is something wrong with our installation of canvas or what because it seems others on the forum are not having this issue that I know of.
Directive Instantiation (nothing out of the ordinary):
How about the Canvas Window Service? Is it running under a service account? If so, does it have a Read and Write access privilege into that ‘files’ directory?
The other area that could give a hint as to what is going on is the Network tab of Chrome and check what is the response.
The server is running under an account with file privileges. As for the network response, it returns with a 200 status. There is no response. No file is actually uploaded to the server and the error message I posted earlier is generated. It is throwing an error when trying to set a request header to an XML HTTP request, which sounds like it is erroring before sending out any subsequent requests that my happen after the save ?
This is something similar to the issue that you are currently facing:
And from the discussions on the board, it seems like it is due to some library being used which is interrupting with the underlying upload library (the same ng-file-upload in the above post) that Canvas is using.
As for the upload process, Canvas actually does it in 2 requests. The first one is to set the parameters, as what you have posted above. And this first request is correct that it does not return anything. Once this setting has been done and it is successful, it will trigger the actual upload of the file on a second request.
So a number of things we can check out here:
Can you help verify whether you are able to upload via the Canvas /samples application
Do you have other 3rd party JS libraries/shims? If so, try to remove 3rd party libraries to isolate which one is causing the upload issue - and once you have found that library, try to move it around the declaration to see where it can potentially help resolve this.