Valeur définie dynamiquement d'une entrée de fichier

Existe-t-il un moyen de définir la valeur d'une entrée de fichier ( <input type="file" /> ) ou est-ce que tout est bloqué pour la sécurité? J'essaie d'utiliser OpenFiles de google gears pour créer un multi-uploader simple.

Il n'est pas possible de modifier dynamiquement la valeur d'un champ de fichier, sinon vous pouvez le configurer dans "c: \ yourfile" et voler des fichiers très facilement.

Cependant, il existe de nombreuses solutions pour un système de chargement multiple. Je suppose que vous souhaitez avoir une boîte de dialogue ouverte multi-sélection.

Peut-être jeter un coup d'oeil à http://www.plupload.com/ – c'est une solution très flexible pour de multiples téléchargements de fichiers, et supporte les zones de dépôt, etc.

Je travaille sur une application angulaire js, et je m'appelle un problème similaire. Ce que j'ai fait était d'afficher l'image à partir du db, puis j'ai créé un bouton pour supprimer ou garder l'image actuelle. Si l'utilisateur a décidé de conserver l'image actuelle, j'ai changé l'attribut ng-submit à une autre fonction qui n'exige pas de validation d'image et mis à jour l'enregistrement dans le db sans toucher le nom de chemin d'image d'origine. La fonction d'élimination de l'image a également modifié la valeur de l'attribut ng-submit dans une fonction qui soumet le formulaire et comprend la validation et le téléchargement de l'image. Aussi un javascript pour faire glisser la vue pour télécharger une nouvelle image.

J'ai eu un problème similaire, alors j'ai essayé de l'écrire à partir de JavaScript et ça marche! : referenceToYourInputFile.value = "" ;

J'ai fini par faire quelque chose comme ça pour AngularJS au cas où quelqu'un trancherait sur cette question:

 const imageElem = angular.element('#awardImg'); if (imageElem[0].files[0]) vm.award.imageElem = imageElem; vm.award.image = imageElem[0].files[0]; 

Et alors:

 if (vm.award.imageElem) $('#awardImg').replaceWith(vm.award.imageElem); delete vm.award.imageElem;