Fix image upload by replacing Imgur with direct backend upload #186
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The image upload system was failing because Imgur's API is blocked in Taiwan. This PR fixes the issue by implementing direct backend uploads using the new multi-backend image upload service introduced in the backend.
Problem
Users in Taiwan were unable to upload factory photos due to the "上傳錯誤" (upload error) message. The frontend was trying to upload images to Imgur first, then sending the URL to the backend, but Imgur's API is blocked in Taiwan.
Solution
Updated the frontend to use direct backend uploads instead of the Imgur-first approach:
Factory Images (Main Fix)
/factories/{id}/images/factories/{id}/images/uploadwith multipart form dataGeneral Images
/images/imageswith multipart form dataKey Changes
updateFactoryImagesto use the new/factories/{id}/images/uploadendpointuploadImagesto upload directly to backend/imagesendpointuploadToImgur,uploadExifAndGetToken, Imgur constants)Technical Details
The new implementation:
Testing
This change ensures image uploads work reliably regardless of regional service restrictions while maintaining full backward compatibility.
Fixes #185.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.