3.8 KiB
3.8 KiB
title, overview, name, description
| title | overview | name | description |
|---|---|---|---|
| Formbricks Seafile Image Upload | Skill for handling image uploads to Seafile when creating Formbricks surveys, including fallback strategies when Seafile authentication fails. | formbricks-seafile-image-upload | Complete workflow for uploading images to Seafile when creating Formbricks surveys, with authentication troubleshooting and multiple fallback strategies for when Seafile fails. |
Formbricks Seafile Image Upload Skill
Context
When creating Formbricks surveys that require image assets (like exercise diagrams for medical conditions), images need to be hosted somewhere accessible. Seafile was the intended hosting solution but authentication challenges require fallback strategies.
Prerequisites
- Formbricks Management API configured with:
- Base URL: https://form.140103.xyz
- API Key: 33513637d4161852807df0eeb734da61
- environmentId: cmlw3055s0008xh6f9aod3sko
- Seafile server configured at: https://ftp.140103.xyz
- Local image files available for upload
Workflow
1. Primary Approach: Seafile Upload
# Get upload link
curl -s \
-H "Authorization: Token YOUR_TOKEN" \
"$SEAFILE_URL/api2/repos/$REPO_ID/upload-link/?p=/"
# Upload file
curl -X POST "upload-link" \
-H "Authorization: Token YOUR_TOKEN" \
-F "file=@local/path.jpg" \
-F "parent_dir=/" \
-F "replace=1"
2. Authentication Troubleshooting
If Seafile authentication fails:
# Try getting new token
curl -X POST "$SEAFILE_URL/api2/auth-token/" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=admin@formbricks.com&password=formbricks123"
# Verify token validity
curl -s "$SEAFILE_URL/api2/repos/" \
-H "Authorization: Token YOUR_TOKEN"
3. Fallback Strategies When Seafile Fails
Option A: Local File Sharing
- Provide direct file paths for manual download
- Use SCP/SFTP for secure transfer
- Create ZIP archive for bulk download
Option B: Alternative File Sharing Services
# file.io (temporary)
curl -F "file=@local/path.jpg" https://file.io
# transfer.sh (if available)
curl --upload-file local/path.jpg https://transfer.sh/path.jpg
# catbox.moe (for images)
curl -F "reqtype=fileupload" -F "fileToUpload=@local/path.jpg" https://catbox.moe/user/api.php
Option C: Direct URL Hosting
- Use existing web hosting services
- Upload to GitHub Pages
- Use cloud storage with public links
Error Handling
Common Seafile Errors
- 401 Invalid token: Re-authenticate or use backup token
- 404 Repository not found: Verify REPO_ID is correct
- 500 Server error: Check Seafile server status
Fallback Triggers
Switch to fallback when:
- Seafile authentication fails 3+ times
- API returns 401/403 consistently
- Server response time > 5 seconds
Integration with Formbricks
Image URL Format for Formbricks
https://seafile.example.com/d/SHARE_CODE/files/?p=/path/to/image.jpg&dl=1
Survey Creation with Images
- Upload images first
- Get public URLs
- Create Formbricks survey with image URLs
- Test survey rendering
Best Practices
- Always verify authentication before bulk operations
- Have multiple fallback options prepared
- Test image accessibility after upload
- Document token rotation procedures
- Keep local copies of important assets
Example Use Case
Creating a "Lumbar Muscle Strain Exercises" survey:
- Download exercise images from Bing
- Upload to Seafile (primary) or file.io (fallback)
- Create Formbricks survey with image URLs
- Provide both direct file access and survey link to user
Notes
- Seafile token format: "Token YOUR_TOKEN"
- Repository ID must be correct for API calls
- Some file sharing services have size limits
- Temporary services may delete files after time limit
- Always verify final image URLs work in Formbricks