This article lists the messages Image Resizer/Rotator can show, grouped by where they come from, with what causes each one and what to do. It ends with answers to common questions.
You see these messages in three places:
The button window—after Error occured while resizing image(s): or Error occured while rotating image(s):, separated by commas. See User interface.
The API response—in the errors list. See API and Pipelines.
The trigger field—after Batch_Process_Failed_<date and time>:, one per line, when you use triggerfid. See Batch processing.
Messages are shown exactly as written below, including their spelling. Where a message names a field ID, file name, record, or number, your own values appear in its place. For every parameter mentioned here, see Formula URL parameters.
Launch and authorization
These messages appear before any image is processed. Nothing is changed on the record.
Message | Cause | What to do |
|---|---|---|
You are not currently authorized to use Image Resizer/Rotator. Please contact your app admin. | No Image Resizer/Rotator authorization matches the button's clientid and appid. Authorization is per application, so a button copied from another app isn't authorized in the new one. | Check that clientid is your Client ID and that appid is AppID(). If the app hasn't been authorized, run the installation wizard for Image Resizer/Rotator in that app, or ask your app admin. |
A temporary authorization token is required for this application. Please check your field settings or contact an App Administrator. | Your account uses temporary token checking (Quickbase enhanced security), and the request didn't include a token. Usually the button is a Formula - URL field whose POST temporary token option is turned off, or a Formula - Text button whose link is missing the POSTTempToken class. For the API, the Authorization header is missing. | Build the button as a Formula - Text field with Allow some HTML tags selected, and give its link OpenAsPopup POSTTempToken and data-temptokendbid, as in the example. If the button is a Formula - URL field, you can instead select its POST temporary token check box—see POST temporary token from a Quickbase field. For the API, send Authorization: QB-USER-TOKEN <your user token>. |
Your temporary authorization token does not have access to the requested record. Please contact an App Administrator if you believe you should have access to run this tool. | The user who clicked the button (or the user token's owner, for the API) can't see the record—or, with query, any of the records. | Check the user's role permissions on the table. Check that dbid and data-temptokendbid are both Dbid(), the button's own table. |
Your temporary authorization token has expired. Please try again or contact an App Administrator. | The token sent by the button is no longer valid—for example, the record was open for a long time. | Refresh the record and click the button again. |
Your temporary authorization token is not authorized to run this tool. If you believe you should be able to, try again from Quickbase or contact your app administrator. | Quickbase rejected the token. | Start the process from the button on the Quickbase record, not from a copied link. If it continues, ask your app admin. |
The RecordID parameter is missing and is required to check temporary authorization. Please check your field settings or contact an App Administrator. | The button has no recid (and no query). | Add "&recid=" & [Record ID#] to the formula. |
One of the DBID Parameters are missing and is required to check temporary authorization. Please check your field settings or contact an App Administrator. | The button has no dbid. | Add "&dbid=" & Dbid() to the formula. |
Something went wrong when we checked your temporary authorization - followed by details, or Something went wrong when we checked your temporary authorization. Please try again or contact an App Administrator. | Quickbase returned an error, or didn't respond, while the token was checked. The details, if any, come from Quickbase. | Check the details—for example, a query that refers to a field that doesn't exist. Try again. If it continues, submit a technical support case. |
Temp token check failed | An unexpected problem while checking the token. | Try again. If it continues, submit a technical support case. |
Unknown initialization error. | An unexpected problem before processing started. | Try again. If it continues, submit a technical support case. |
We ran into an error processing your request. Please contact support if this continues to happen. | A general message for unexpected problems. It can appear at any stage. Common causes: a preqbaction or postqbaction value that isn't wrapped in Base64Encode(); an image file that is damaged or larger than 20,000 pixels wide or high (including after enlarging); Amazon S3 lists with different numbers of entries; or a trigger field that couldn't be updated because recid is missing or triggerfid is wrong. | Check the causes listed here and try again. If it continues, submit a technical support case. |
If the button does nothing at all, your browser may be blocking pop-ups—see Configure pop-ups.
Before and after actions
See Run a Quickbase API call before or after processing.
Message | Cause | What to do |
|---|---|---|
Direct Call's URL is invalid. | The decoded preqbaction or postqbaction isn't a web address on your own Quickbase realm. | Build the call with URLRoot() and wrap it in Base64Encode(). |
An error message from Quickbase | The API call ran but Quickbase rejected it—for example, a wrong field ID or not enough permission. | Fix the call. If it was preqbaction, no images were processed. If it was postqbaction, the images were already processed. |
We ran into an error processing your request. Please contact support if this continues to happen. | The value isn't valid Base64, usually because it isn't wrapped in Base64Encode(). | Wrap the call in Base64Encode(). |
Files
These messages apply to images in Quickbase file attachment fields.
Message | Cause | What to do |
|---|---|---|
Clist has not been provided correctly | clist is missing or empty. | List the file attachment FIDs, separated by periods—for example, clist=14.15. |
Error - FAList not provided correctly 38 Also Error - UpdateFIDList not provided correctly ..., Error - DateFIDList not provided correctly ..., Error - currfsfidlist was not provided correctly ..., and Error - newfsfidlist was not provided correctly ... | The named list doesn't have one entry for each image in clist. Nothing is processed. | Give the list the same number of FIDs as clist, in the same order. See Track and store results. |
Unable to get file in field ID 14 from Quickbase | The file attachment field is empty on the record. | Upload an image to the field first. (In multiple-record mode, empty fields are skipped without a message.) |
Invalid File Extension - tif is not supported | The file's extension isn't a supported type. For now, TIFF images must end in .tiff; .tif isn't accepted. | Use a supported file type. For a .tif file, rename it to end in .tiff and upload it again. |
Invalid or inaccessible field ID 14 - unable to read file attachment data. Please verify the FID exists on this table. | A FID in clist doesn't exist on the table being processed (the querydbid table in multiple-record mode). | Check the FIDs in clist. |
Unable to get file site_photo.jpg from Quickbase or Could not download file site_photo.jpg from Quickbase | The image couldn't be downloaded from the record. | Check that the file opens in Quickbase, then try again. |
File site_photo.jpg is too large to process (exceeds 2.00 GB). | The source image is over 2 GB. | Use a smaller image. See Limits. |
Processed file site_photo.jpg is too large to upload to Quickbase (exceeds 80.00 MB). | The processed image is over 80 MB, so it can't be saved to a file attachment field. | Resize to smaller dimensions, or use a target file size. |
Unable to save file site_photo.jpg to Quickbase | The processed image couldn't be saved to the record. | Check that every FID in falist is a file attachment field on the same table, and that the user token saved when the app was authorized can edit the record. |
Get Data was successful but No Record(s) Found. | No record matches recid in the dbid table—or, in multiple-record mode, the query matched no records. | Check recid and dbid, or the query and querydbid. |
Could not process image file properly | Processing produced an empty image. | Try again. If it continues, submit a technical support case. |
DBID parameter is empty or Record ID parameter is empty | dbid or recid is missing. | Add "&dbid=" & Dbid() and "&recid=" & [Record ID#]. |
Resize
See Resize images.
Message | Cause | What to do |
|---|---|---|
Did not supply Resize Percentage, Resize Width/Height, or Resize File Size | The button has no resize parameter, the field it reads the value from is blank, or rsfilesize isn't a number (for example, 250KB). | Supply one of rsrate, width/height, rsfilesize, or fsrate, and make sure the input field has a value. Put the unit in fsunit: rsfilesize=250&fsunit=KB. |
Cannot set new width to 0 or negative integer or Cannot set new height to 0 or negative integer | width or height is 0 or negative. | Enter a size of 1 pixel or more. |
Unable to parse width parameter | width or height isn't a whole number—for example, 800px or 800.5. This message is shown for both. | Enter whole numbers of pixels only. |
Unable to parse resize rate value | rsrate isn't a whole number. For Amazon S3, a value in rslist isn't a whole number, or has a % sign. | Enter a whole number, such as 50. |
Resize rate must be a positive number. | rsrate is 0 or negative. | Enter a percentage from 1 to 99 to shrink, or over 100 to enlarge. |
Unsupported resize dimensions: 0x0. Width and height must be positive. | rsrate is 100, which would shrink the image to nothing. | rsrate is how much to change each side by: use 1–99 to shrink, or over 100 to enlarge. |
Unable to parse file size rate value | fsrate isn't a whole number. | Enter a whole number from 1 to 99. |
File size reduction percentage must be between 1 and 99, got 100. | fsrate is outside 1–99. | Enter a value from 1 to 99. |
Target file size must be at least 1024 bytes, got 250. | The target is below 1 KB. Usually fsunit is missing, so rsfilesize=250 is read as 250 bytes. With fsrate, the image is already so small that the reduced target is under 1 KB. | Add fsunit=KB (or MB), or use a larger target. |
Note: Resized partially successfully - could not resize below 256000 bytes. | Not an error. The image was saved, but couldn't be made as small as the target. | Accept the result, or use a larger target or smaller dimensions. |
Rotate
See Rotate images.
Message | Cause | What to do |
|---|---|---|
Error - Rotating by a value other than 0, 90, 180, or 270 degrees | rotateval isn't 0, 90, 180, or 270—for example, Do not rotate or 45. Nothing is processed. | Use 0, 90, 180, or 270 (a number followed by degrees also works). Use 0 for no rotation. |
Error - No rotation amount was provided for field 14. Supply 'rotateval' or a per-file rotation FID via clist (e.g. clist=6:8). | The rotate button has no rotateval (or it reads from a blank field), and clist has no rotation field for this image. | Give rotateval a value, or pair each image with a rotation field in clist—for example, clist=14:40. |
Per-image rotation fields never cause an error: a value other than a number of degrees (for example, Do not rotate) or a blank field leaves that image unrotated.
Multiple records
See Process images across multiple records.
Message | Cause | What to do |
|---|---|---|
Error - Proccessing more than 50 records - recommend using batch process | The query matched more than 50 records. Buttons and the API process up to 50 at a time. Nothing is processed. | Narrow the query, or use batch processing, which has no limit. |
Get Data was successful but No Record(s) Found. | The query matched no records in the querydbid table. | Check the query's field ID and value, and querydbid. |
We ran into an error processing your request. Please contact support if this continues to happen. (with triggerfid) | recid is missing, so the status can't be written to the record with the button. | Add recid=[Record ID#] next to query. |
Batch
See Batch processing. A batch run writes its progress to the trigger field:
Trigger field shows | Meaning | What to do |
|---|---|---|
Processing Images... | The run has started. | Wait, then refresh the record. |
Batch_Process_Completed_ followed by the date and time | The run finished with no errors. | Nothing. |
Batch_Process_Failed_ followed by the date and time, a colon, and one message per line | The run finished with errors. Images processed before an error are kept. | Look up each message in this article. |
Still Batch_Process_Requested_… (or whatever value requested the run) | The run never started, or stopped before processing. Causes: the email notification didn't send (it isn't Open, has the wrong address, or the message body isn't only the arguments field); the app isn't authorized (clientid or appid is wrong); the batch configuration check failed; or the arguments have no recid. A run that stops before processing doesn't write to the trigger field. | Check the notification and the arguments—see If nothing happens. |
A run whose arguments don't match its batch configuration stops before processing, with one of these messages. They aren't written to the trigger field.
Message | Cause | What to do |
|---|---|---|
No ConfigID was passed in. This configuration requires a ConfigID. | The arguments have no configid. | Add configid= and your Config Key. See Use a configuration in batch runs. |
Could not find a Config with ConfigID <your Config Key> - this configuration requires a ConfigID. | No configuration has that Config Key. | Copy the full Config Key from the Batch Configuration Portal. |
The following parameters do not match the configuration: [clist, width] | The named parameters have values the configuration doesn't allow. | Update the configuration's allowed values, or the arguments. |
Encountered duplicate parameter [clist] | A parameter the configuration checks appears twice in the arguments. | Remove the duplicate. |
For more on these, see the Batch Config Portal's Messages and troubleshooting.
Amazon S3
See Process images stored in Amazon S3.
Message | Cause | What to do |
|---|---|---|
Error - Please supply a resize/rotate list | The button has neither rslist nor rtlist. | Add rslist to resize or rtlist to rotate. |
Error - Unable to get Record Data for Record ID# 42 | The record couldn't be read—for example, a FID in s3list, fnlist, or rtlist doesn't exist on the table. | Check dbid and the FIDs. |
Error - Record with Record ID# 42 not found. | No record matches recid in the dbid table. | Check recid and dbid. |
Unable to get site_photo_08_14.jpg from S3. | The object couldn't be downloaded: the key doesn't match an object exactly, it's in a different bucket, or the saved credentials can't read it. | Check the S3 Key field, the bucket (s3bucket or your default bucket), and that the IAM user's policy allows s3:GetObject. |
File site_photo_08_14.jpg is too large to process (exceeds 2.00 GB). | The object is over 2 GB. | Use a smaller image. |
Unable to process site_photo_08_14.jpg - followed by a reason | The image couldn't be resized or rotated. The reason is one of the resize messages—for example, Unable to parse resize rate value when an rslist value has a % sign. | Fix the cause named in the reason. |
Processed file site_photo_08_14.jpg is too large to upload to S3 (exceeds 1.86 GB). | The processed image is too large to upload. | Use a smaller resize percentage. |
Unable to process site_photo_08_14.jpg to S3 - Unable to upload processed image back to S3. | The processed image couldn't be written back to the bucket. | Check that the IAM user's policy allows s3:PutObject on the bucket. |
We ran into an error processing your request. Please contact support if this continues to happen. | Most often, fnlist, rslist, or rtlist has fewer entries than s3list. Images earlier in the list may already have been processed. | Give the lists the same number of entries, in the same order. |
API
The API returns the messages above in its errors list. Two more apply only to the API. See API and Pipelines.
Message | Cause | What to do |
|---|---|---|
Invalid request parameter. | The request value isn't valid Base64—often because it wasn't URL-encoded and a + became a space. | Base64-encode the parameter string, then URL-encode the result. |
An unexpected error occurred. Please contact support if this continues to happen. (HTTP 500, plain text rather than JSON) | An unexpected server problem. | Retry the request. If it continues, submit a technical support case. |
Frequently asked questions
Where do I find my Client ID and server URL?
Every button formula needs your Client ID (Q followed by a number, for example Q1234) and your designated Image Resizer/Rotator server URL. [PLACEHOLDER: where to get your Client ID and server URL — revisit after the wizard setup for Image Resizer/Rotator ships]
I finished the installation wizard. What now?
For Image Resizer/Rotator, the wizard only authorizes your app—it doesn't add fields or buttons. Build a button next: see Resize images or Rotate images, and Finish and next steps.
Why does nothing happen when I click the button?
Your browser is probably blocking pop-ups for Quickbase—see Configure pop-ups. Also check that the field is a Formula - Text field with Allow some HTML tags selected, and that its link has the OpenAsPopup class, as in the example.
Why does the window keep showing Resizing image... and never finish?
If the server has an unexpected problem, the window can't show a result and the spinner keeps turning, with no Close button. Close the window, refresh the record to see whether any images were processed, and try again. If it keeps happening, submit a technical support case.
What does You are not currently authorized to use Image Resizer/Rotator mean?
Image Resizer/Rotator is authorized per application. Check clientid and appid in the formula. If you copied the button from another app, run the installation wizard for Image Resizer/Rotator in this app. See Launch and authorization.
What does A temporary authorization token is required for this application mean?
Your account checks temporary tokens, and the button didn't send one. Rebuild it as a Formula - Text field with Allow some HTML tags selected, and give its link OpenAsPopup POSTTempToken and data-temptokendbid, as in the example. If the button is a Formula - URL field, you can instead select its POST temporary token check box—see POST temporary token from a Quickbase field.
What does Unable to get file in field ID 14 from Quickbase mean?
The image field is empty on this record. Upload an image first.
Why did my image come out the wrong size when I used a percentage?
rsrate is how much to change each side by, not the final size. rsrate=25 makes each side 75% of the original, not 25%. rsrate=150 makes each side 250% of the original. To make each side 25% of the original, use rsrate=75. See How each method works.
What does Target file size must be at least 1024 bytes, got 250. mean?
Without fsunit, rsfilesize is read as bytes. Add fsunit=KB to make rsfilesize=250 mean 250 KB.
Why is my .tif file rejected?
For now, only the .tiff extension is accepted for TIFF images. Rename the file to end in .tiff and upload it again.
Why does my PNG look banded or posterized after a file size resize?
To reach a target file size, images that aren't JPEG are made smaller by reducing their colors (to as few as 8) as well as their dimensions. For photos, use JPEG images with rsfilesize or fsrate, or resize by dimensions or percentage instead.
How do I process more than 50 records?
Buttons and the API process up to 50 records at a time. Use batch processing, which uses the same parameters and has no limit.
Why does my batch run never update, keep restarting, or not start on upload?
Never updates—include recid in the arguments, also with query, and check the notification. See Batch.
Keeps restarting—the notification needs the Trigger Field contains Requested condition. If it starts on upload, save results to separate fields with falist.
Doesn't start on upload—watch the file attachment fields and remove the Requested condition. See Start when an image is uploaded.