2017-06-30 2 views
0

Voici la chose. J'ai un chemin de fichier dans mon code derrière qui envoie le fichier d'image dans la base de données SQL et enregistrer l'image dans un dossier spécifié. En outre, j'ai une toile de personnalisation qui permet à l'utilisateur de personnaliser et de concevoir leur commande. J'utilise Blob filesave pour enregistrer ce design personnalisé et mon problème est que je ne sais pas comment générer un nom de fichier UNIQUE car lorsque je télécharge le même nom de fichier, il va se mettre à jour (supprimer l'ancien nom de fichier et remplacer le dossier. Est-il possible de générer un nom de fichier unique?Comment générer un nom de fichier unique chaque fois qu'un utilisateur télécharge une image en utilisant Blob, FileSave, javascript?

HTML & Script

<input type="button" id="saveImg" value="Save Image"/> 
<script> 
     $("#saveImg").click(function(){ 
      $("#canvas").get(0).toBlob(function(blob){ 
       saveAs(blob, "myImg.png"); 

     }); 
     }); 
     </script> 

enter image description here

enter image description here

+0

'Math.random(). ToString (36) .slice (2) + ext'? –

+1

Personnellement, je recommanderais de créer le nom de serveur unique pour des raisons de sécurité. Ne le faites pas en javascript. – Difster

+0

Il devrait probablement y avoir un 'ID de commande' généré par le serveur qui associe toutes les données associées. Ensuite, il ne s'agit pas de "générer un nom de fichier unique" - car la clé de la base de données pour le BLOB est alors, par exemple '(orderid, filename)'. Un "nom de fichier unique" est alors entièrement synthétique, par exemple. 'http: // ordersr.us/myorder/12345/ressources/theImg.png'. Seulement quand il n'y a pas d'espace de noms logique (par exemple tinyurl) est un "nom de fichier unique" de plus d'intérêt. – user2864740

Répondre

0

Les commentaires au sujet de faire de ce côté du serveur, ou mandatement d'un autre identifiant unique, sont probablement de bons conseils à considérer.

Cependant, si vous voulez juste une chaîne unique pour nommer un fichier, vous pouvez générer un uuid pour cela. (I'd use a library). L'unicité d'un uuid est tout sauf une garantie (il faut quelque chose comme des milliards par jour pendant des milliers d'années pour s'attendre à un duplicata).

+0

Merci pour votre réponse, mais comment puis-je installer le paquet dans Visual Studio ? –

+0

nvm, ça a déjà beaucoup fonctionné merci! :) –