Jump to content

Image uploads disappearing on save


Recommended Posts

 When i'm uploading multiple Images in backend everything looks fine first.

- All Images are uploading

- All Images are shown as Thumbnails 

but after saving, about 50% of the images are gone. For Example: I upload 10 images, every image is shown in the form, but after saving i have just 5 or 6 images assigned.

I don't get any errors, not in Developer Console, not in PW logs, no PHP Errors

If i drag and drop them one after on the upload area (same files) and wait until thumbnail is shown and then save the form, everything works fine.

If i try the same form local on a XAMPP installation, everything works fine.

Any idea ?

  • Like 1
Link to comment
Share on other sites

I had the same problem a few days ago when I tried to add 40 highres images in one go. On localhost. There were only like 3 images in the assets folder, rest didn't make it, except into the db.

I mixed things up pretty bad, sorry. Had that installation still lying around and refreshed my memory: I had a problem with images, but not nearly close to this one (was about generating lots and lots of thumbnails).

Link to comment
Share on other sites

I can confirm a behave like @NoremPload describes, but not like @tsdtsdtsd said. This must be different things.

I have noticed this two times by myself:

 1) on a PW 2.3.5 site, a year ago or so. Here it has gone away without any interaction. (??) weird!

 2) on a local installation of a friend, where it occured from time to time. But couldn't detect any reason why it behaves that way.

All images were stored in the assets files subfolder and all admin thumbnail variations were successfully created. After a page reload, with or without using the save button, some images were gone from the images field. (not written into DB)

And without allowing to overwriting existing images on upload in the field edit page, you are not able to upload them again! (Error about image files are already exists, but may belong to another field of that page!)

Only thought is, that it (must) have to do with the MySQL DB and the lot of concurrent save requests for the pages image field! But I'm not very familiar with DB stuff.

So, as it is also a bit weird that an optional wanted sort order gets distorted by a multiple asynchronus upload I always use zip upload nowadays. You can enable zip upload to image fields. This way only one file gets uploaded, and than one by one image gets extracted, registered and variation created. No concurrent tasks anymore. Also an optional wanted alphabetical sortorder is kept. :)

As this only is a workaround, the asynchronous concurrent images upload should work too. And it does work for maybe 99,9995 percent. But if you run into that 0,0005 percent, it is weird.

If you like, you can open an issue on github. If not, I will do so later. Am on the go now. :)

BTW: @NoremPload, your avatar reminds me of an old friend of mine. :lol:

Edited by horst
Link to comment
Share on other sites

hi again,

Thx for your detailed reply! I tried the zip upload, it also does not work 100%. Uploading a 40MB Zip File works, but everything over about 150MB failes, i have 250 MB max_filesize and 250 memory_limit, maybe that's not enough and the error i get doesn't help => Uncaught TypeError: Cannot read property 'error' of null(anonymous function) @ InputfieldFile.min.js?v=118:1

I bulid workaround upload page where i upload the zip, unpack it and add the images via API. 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Content

    • By spercy16
      These issues should be fairly easy for any intermediate to advanced ProcessWire developer to answer. I'm new to PHP and relatively new to ProcessWire and just need a bit of help. What I'm trying to do is bring in a couple of cards from my Projects page to display on my home page. I finally got the code right to bring in the cards but right now they're using my original images instead of my resized "variations". So firstly, I would like to know how to reference the variations of my images instead of using the original. Secondly, I need to grab only four of the cards from the Project page and not import in all ten. It should be just two small changes to my code to do these things (I would imagine). Here is the code I currently have for that section:
      <?php // https://processwire.com/api/arrays/ // check if the array of images has items if (count($pages->get("/projects/")->images)) : // get array of images from the field $images = $pages->get("/projects/")->images; $count = 0; // iterate over each one foreach ($images as $image) : $count++; $sectionText = $pages->get("/projects/")->get("paragraph_$count"); $img = $image; $buttonCode = $pages->get("/projects/")->get("url_$count"); ?> <span id="card<?php echo $count?>" class="card"> <img class="cardThumb" src="<?php echo $img->url; ?>" alt="<?php echo $image->description; ?> Thumbnail" /> <div class="cardBody"> <div class="cardText"> <h2><?php echo $img->description; ?></h2> <?php echo $sectionText; ?> </div> <div class="primaryBtn"> <a href="https://www.paypal.com/donate?hosted_button_id= <?php echo $buttonCode; ?> &source=url"> <button> <i class="fas fa-donate"></i> Donate </button> </a> </div> </div> </span> <?php endforeach; endif; ?> Thanks in advance for any help!
    • By picarica
      so hello there i have fiel field type i have lots of stuff there, and also an image i can easily get image from that field using
      $options = array('quality' => 85, 'upscaling' => true, 'cropping' => 'north', 'sharpening' => 'medium'); $word = ".png"; // Test if string contains the word foreach($childgames->subor_hry as $file) { if(strpos($file, $word) !== false){ /* $imger = $file->size(473, 266, $options); */ echo $file; /* echo $file->url; */ } } so i get the fiel i tried invoking size on it like the commented out part and it doesnt work i get error Oh snizzle… Error:     Exception: Method Pagefile::size does not exist or is not callable in this context (in
      what am i doing wrong? can you guys help me by all logic this should work
    • By Max Esnée
      When I upload a large(ish) SVG (≈120ko in this case) into an image field, it tends to get stuck at 100% and block the whole website. If I force refresh the admin page, the svg has not been uploaded. The file is correctly copied into the assets folder though. Other svg tends to be uploaded fine albeit I've noticed that pages containing svg images in the admin are very slow to load generally. Other pages using the same template but with jpeg or png images are much faster to load.
      I get the following error in the JS console:

      I develop locally using MAMP on macOS and I'm using Firefox. I'm using the last ProcessWire version (3.0.165).
      I also tested in Chrome and got the same error.
    • By Marvin
      Hello, my name Marvin, i want to ask something. I'm new at processwire, and still learn it, i try yo showing an image, at a table, the image was show, but i can't resize the image
      please HELP
      Here i attach, my code belor
      <?php $num = 1; foreach($pages->get("/files/")->children as $child) { $current = $child === $page ? " class='current'" : ''; $result = $child->images; // $result->width(900); // $result->height(100); foreach($result as $items){ foreach($pages->get($child->name)->files as $file) { // $file = $child->files; // echo $file->name; echo "<tr><td>".$num++.".</td><td>".$child->title."</td><td>".$child->text_1."</td><td>".$child->text_2."</td><td>".$child->text_3."</td><td><a href='".$file->httpUrl."'>".$file->name."</a></td><td><img src='".$items->url."'></td></tr>"; } } } ?>  
    • By Bike
      Hello everyone!
      I am new to PW and at this moment there are these issues that I cannot clearly understand:
      1) Image Position
      Previously I used TinyMCE and there I could get an image floating left or right by simply selecting it and pressing the text justify buttons from the menu bar. In CKEditor however it just causes the hole paragraphs content to be aligned which results in code like this and of course the image is not floating that way:
      <p class="xyz" style="text-align:right"><img alt="" src="someimage.jpg" width="1000" /></p> Q: Is it possible to add float to images just by clicking the text align buttons? As far as I figured it out the only way to align images is within the image dialouge which I find is pretty inconvenient.
      2) Image Caption / Figure / Figcaption
      When a title is given to an image it is wrapped inside a figure tag and a figcaption tag is applied. That's fine. But I need the image to be wrapped inside another picture tag for styling reasons (I want to add a shadow png with picture::after). I'd like to end up with this:
      <figure><picture><img alt="" src="someimage.jpg" width="1000" /></picture> <figcaption>Caption there</figcaption> </figure> Q: I think I have to modify the plugins code to achieve it, right? If so does anyone knows the file / location?
      Q: If a figure tag is placed how would I change its position say to another paragraph? Drag & drop just relocates the image leaving the figure tag where it was. How to reposition the whole thing?
      Q: How / where would I enter image description the be shown only in say a lightbox but not alongside the image itself? I thought the textarea provided in the image field could do the job but how to access it from the editor? Even possible?
      Well I hope someone understands and I'd be thankful for a clue of any of these questions.
      ✌️ Bike
  • Create New...