EDIT: Remplacez la chaîne base64 figurant dans la zone de texte par une URL. La zone de texte est un éditeur WYSIWYG (CKEditor). Je dois télécharger une image dans le système de fichiers du serveur. J'essaie d'utiliser ce code pour convertir la chaîne en une image réelle, puis dans la zone de texte en remplaçant la chaîne base64 par l'emplacement de l'image sur le serveur (URL).Coldfusion Search HTML <textarea> Ensuite, masquez la chaîne Base64 vers le fichier sur le serveur
<cfset image = imageReadBase64(#LocalOccurrence#)>
<cfimage source="#image#"
destination="#save_image_to_this_location#
& #name_of_image#
& #extension_of_image#"
action="write">
Original Question: Utilisation de ColdFusion, essaie de trouver toutes les chaînes d'images de l'intérieur base64 HTML puis enregistrez chacun comme son propre fichier sur le serveur, créer URL et insérer dans la base de données. J'ai besoin d'aide pour créer une boucle à ce stade.
J'ai eu que de trouver loin une seule occurrence de la chaîne base64 avec ce code:
<cfset textarea_to_search = #form.overview_text#>
<cfset string_base64_header = "base64,">
<cfset string_base64_ending = '"'>
<cfoutput>
<cfset mystart = find(#string_base64_header#, #textarea_to_search#)>
<cfset myend = find(#string_base64_ending#,#textarea_to_search#,#mystart#)>
<cfset my64 = mid(#textarea_to_search#, (#mystart#+7), ((#myend#-7)-#mystart#))>
<span style=font-size:8px;"> #mystart#, #myend#, #my64#</span>
</cfoutput>
récrit la boucle d'origine pour ressembler à cela, mais il ne retourne que la première occurrence de la chaîne base64:
<cfset counter = 1>
<cfset my_array =[]>
<cfoutput>
<cfloop condition = "counter LTE 5">
<cfset mystart = find(#string_base64_header#, #textarea_to_search#)>
<cfset myend = find(#string_base64_ending#,#textarea_to_search#,#mystart#)>
<cfset my64 = mid(#textarea_to_search#, (#mystart#+7), ((#myend#-7)-#mystart#))>
<span style=font-size:8px;"> #mystart#, #myend#, #my64#</span>
<cfset ArrayAppend(my_array, #my64#)>
<cfset counter = counter+1>
</cfloop>
<cfdump var = "#my_array#">
</cfoutput>
C'est génial! Pouvez-vous me montrer comment créer une URL pour remplacer la chaîne base64? J'ai considéré l'utilisation de replace(), cependant, je pense que je dois juste utiliser ce que vous m'avez donné ici et définir une variable à une URL. J'ai essayé ceci: –
Pas tout à fait sûr que je comprends ce que vous ' re demande. Si vous éditez votre question, et ajoutez cette partie avec un peu plus de détails, je parie que nous pouvons y arriver. – luxdvie