Git Product home page Git Product logo

Comments (4)

johndatserakis avatar johndatserakis commented on May 24, 2024

Hey there,

Hmm, unfortunately yes I don't think presetFiles will work with the string representation of an image. But I do believe it'll work with local file path. Is loading a local file into presetFiles by using its path not working for you?

from file-upload-with-preview.

oldcastlehq avatar oldcastlehq commented on May 24, 2024

Hi.

I can preview ONE file. It works. However, I cannot preview more than one. See below.

//  Wait for the page to be fully loaded
window.addEventListener('load', function () {

// Grab the data attribute data
var additionalImg = document.querySelector('#additional_img');

let tmpImg = additionalImg.dataset.addtimg;
// Check if there is any image in DB, if not, intialize the library with default options
if (tmpImg) {
  // Initialise the library
// Initialise the library
var upload = new FileUploadWithPreview('addtImageUploadId', {
	//Populate the form with the data attribute
	presetFiles: additionalImg.dataset.addtimg.split(',')
})

	// This is how we tell the to delete the current images.
  let clearButton = document.getElementById('addtclearButton')
  clearButton.addEventListener('click', function() {
	  document.getElementById("addtclearbox").value = 1;
  })

}
else {
	// Initialise the library
   var upload = new FileUploadWithPreview('addtImageUploadId', {})
}
})

HTML/PHP

<div class="row mb-3">
	<label for="file" class="col-sm-2 form-label"><?= lang('Backend.additional_image') ?></label>
	<div class="col-sm-10" id="additional_img" data-addtimg="<?= $data_additional_img ?? null ?>">
		<div class="custom-file-container" data-upload-id="addtImageUploadId">
			<label><a href="javascript:void(0)" class="custom-file-container__image-clear" id="addtclearButton" title="<?= lang('clear_image') ?>"><?= icon('trash', '16', 'text-danger') ?></a></label>
			<label class="custom-file-container__custom-file" >
				<input type="file" name="addtimgcategory[]" id="addtimgcategory" class="custom-file-container__custom-file__custom-file-input" accept=".jpg, .jpeg, .png, .gif" aria-label="<?= lang('choose_file') ?>">
				<input type="hidden" name="addtclearbox" id="addtclearbox" value="0">
				<span class="custom-file-container__custom-file__custom-file-control"></span>
			</label>
			<div class="custom-file-container__image-preview"></div>
		</div>
	</div>
</div>

Here is where I feed the images:

data-addtimg="<?= $data_additional_img ?? null ?>">

I get the images from my DB as an array. So, as I said, I can preview one image, but cannot preview more than one.

Any idea?

from file-upload-with-preview.

johndatserakis avatar johndatserakis commented on May 24, 2024

Sorry it's a bit hard to read your code as the formatting seems to have gotten tripped up. But I will say that I think you may need to add the multiple property to the <input type="file" element. You can see I have it added to the demo that shows the multiple preview option, demo here.

from file-upload-with-preview.

oldcastlehq avatar oldcastlehq commented on May 24, 2024

Spot on! Thank you very much!

from file-upload-with-preview.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.