-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upload_large is changing the extension, making uploads fail #127
Comments
Hi, When you upload the file in your Windows system do you by chance have the file still open? Windows has the behavior of creating temporary files when the file is currently open and potentially being edited. The temp files are closed and deleted once Word is shut down. If you do have it open can you try closing the file and then try uploading? Here is some documentation on the behavior: https://support.microsoft.com/en-us/help/211632/description-of-how-word-creates-temporary-files Also are you able to upload raw files with our upload method (rather than upload_large) without the tmp extension being added? Regarding Ubuntu appending random characters at the end, we do this by default to ensure a unique filename. However if you'd like to turn this behavior off you can include the parameter Hope this helps! |
Thanks for your reply - I definitely don't have the file open - however upload_large itself does create a temporary copy of the file in the system's temp folder cloudinary_php/src/Uploader.php Line 101 in 46546ac
Regarding the random characters, my first thought was that Cloudinary was doing this - however, if that's the case, then Cloudinary is adding the random characters directly to the extension, and then complaining that the extension is not on the whitelist. For example, when I run this script on our Ubuntu server, the error looks like this:
Note that the first 3 letters are indeed the extension of the file I provided (a text file), but the last 5 aren't mine. It seems unlikely Cloudinary would add those extra characters before the file has even uploaded, and then reject the file because of the characters it added. So I think this might be coming from the operating system giving the temp file a unique name, in the same way I see the .tmp extension on Windows. I can't think of how else the filename would be getting changed. And while that wouldn't directly be the fault of the SDK, it should take that into account, or uploads just stop working. I'm not able to check right now, but yes, I believe the regular upload works. |
Hi, I did some testing and it does look like the upload method works in case that is a suitable workaround in the meantime. I will be filing this as a bug and will update you once we have made the necessary changes. Thank you for bringing this to our attention. |
Want to konw,the question is resolve or not ? |
Hi @GerberaLee, I apologize for the delayed update but this has been resolved. |
When uploading raw files using upload_large, the SDK seems to be adding characters to the end of the extension, making the files be rjected because they don't match the
allowed_formats
value. On my windows machine, it adds .tmp, and on our Ubuntu servers it's adding 5 random characters. This difference might be due to the way the OSs handle temp files.Here's my code:
This yields the result:
If I remove
allowed_formats
then the upload works, but note the public_id, url, secure_url have .tmp on the end, and the original filename is wrong.The text was updated successfully, but these errors were encountered: