Copy link to clipboard
Copied
Bonjour,
Quand je veux redimensionner une image (.jpg), j'ai le message suivant :
The ServerFile image format is not supported on this operating system
mais quand je n'utilise pas cette fonction, le serveur accepte !
<cfimage action="resize" source="File.ServerFile" height="300" width="200" name="resized">
Merci d'avance pour votre aide
Copy link to clipboard
Copied
Which version of Coldfusion are you using and what hotfix version is it?
Can you give the full code you are using that gives you the error as well.
Copy link to clipboard
Copied
Bonjour,
According to the docs for CFIMAGE, you can use a variable to contain the image to be resized. As haxtbh has pointed out, we really cannot understand what is wrong without seeing your code. But if the image is being uploaded from a form, you need to use CFFILE to save it in a variable, then use CFIMAGE to resize the image.
Selon les documents pour CFIMAGE, vous pouvez utiliser une variable pour contenir l'image à redimensionner. Comme haxtbh l'a souligné, nous ne pouvons vraiment pas comprendre ce qui ne va pas sans voir votre code. Mais si l'image est téléchargée à partir d'un formulaire, vous devez utiliser CFFILE pour l'enregistrer dans une variable, puis utiliser CFIMAGE pour redimensionner l'image.
HTH,
^_^
Copy link to clipboard
Copied
Avant tout merci pour vos réponses !
Voici mon code :
1ère partie avec un cfform :
<INPUT type="file" name="PhotoFile" size="55" accept="image/jpg, image/jpeg, image/gif">
2ème partie :
<CFFILE
Action="UPLOAD"
Filefield="PhotoFile"
Destination="#StrPath##session.site##sep#_cartes#sep#"
Nameconflict="Overwrite"
Accept="image/gif, image/jpg, image/jpeg"
>
<cfimage action="resize" source="File.ServerFile" height="300" width="200" name="resized">
Rien d'extraordinaire !
Cordialement
Copy link to clipboard
Copied
Your CFFILE is saving the uploaded image to a destination. Use CFFILE to read the file you saved as a binary, give it a name, and use that for the CFIMAGE resize.
OR, if you don't need the original file, you can skip saving it to a destination and save it in memory and use the memory to resize the file and save that to a destination.
Votre CFFILE enregistre l'image téléchargée dans une destination. Utilisez CFFILE pour lire le fichier que vous avez enregistré en tant que binaire, donnez-lui un nom et utilisez-le pour le redimensionnement CFIMAGE.
OU, si vous n'avez pas besoin du fichier d'origine, vous pouvez sauter l'enregistrement vers une destination et l'enregistrer en mémoire et utiliser la mémoire pour redimensionner le fichier et l'enregistrer dans une destination.
HTH,
^_^
Copy link to clipboard
Copied
Désolé !
Puis-je avoir un exemple car je ne comprends pas votre explication ?
Merci par avance
Copy link to clipboard
Copied
Since you are using the "destination" attribute in your CFFILE upload, the uploaded file is saved to the hard drive. At this point, you cannot use "cffile.serverfile" to access the file because it is no longer in CF memory - it is on the server hard drive.
At this point, one option is to (after the first CFFILE) use another CFFILE to "read" the file into a CF variable and use the variable content to resize the image. This will allow you to keep the original file size saved to the hard drive while saving a second, resized image to the hard drive. So, after your first CFFILE:
Puisque vous utilisez l'attribut "destination" dans votre téléchargement CFFILE, le fichier téléchargé est enregistré sur le disque dur. À ce stade, vous ne pouvez pas utiliser "cffile.serverfile" pour accéder au fichier car il n'est plus dans la mémoire CF - il se trouve sur le disque dur du serveur.
À ce stade, une option est de (après le premier CFFILE) utiliser un autre CFFILE pour "lire" le fichier dans une variable CF et utiliser le contenu de la variable pour redimensionner l'image. Cela vous permettra de conserver la taille du fichier d'origine sauvegardée sur le disque dur tout en sauvegardant une seconde image redimensionnée sur le disque dur. Ainsi, après votre premier CFFILE:
<!--- Ceci va lire le fichier juste enregistré et le stocker dans une variable CF nommée 'varName', le redimensionner, puis l'enregistrer sur le disque dur--->
<cffile action="readBinary" file=""#StrPath##session.site##sep#_cartes#sep#filename" variable="varName" />
<cfimage action="resize" source="#varName#" height="300" width="200" name="resized">
<cffile action="write" file="full path name and file name" output="#resized#" addnewline="no" fixnewline="no" />
HTH,
^_^
Copy link to clipboard
Copied
Bonjour,
Est-il obligatoire de garder l'image originale ?
Merci par avance
Copy link to clipboard
Copied
Bonjour,
C'est tout à fait votre décision. Si vous avez besoin de conserver le fichier d'origine, le code que j'ai fourni conserverait à la fois l'original et les images redimensionnées. Si vous n'avez pas besoin de l'original, vous pouvez utiliser CFFILE action = "delete" pour supprimer l'original.
Avec respect,
^_^
Copy link to clipboard
Copied
Malgré toutes vos instructions, cela bloque 😞
Voici mon code :
<CFOUTPUT>
<CFIF right(StrPath,1) IS "/">
<cfset sep="/">
<CFELSE>
<cfset sep="\">
</CFIF><CFFILE
Action="UPLOAD"
Filefield="PhotoFile"
Destination="#StrPath##session.site##sep#_cartes#sep#"
Nameconflict="Overwrite"
Accept="image/gif, image/jpg, image/jpeg"
/>
<CFIF File.Filesize GT taillemax>
<!--- Lire le fichier enregistré et le stocker dans une variable CF nommée 'varName', le redimensionner, puis l'enregistrer sur le disque dur--->
<CFFILE
action="readBinary"
file="#StrPath##session.site##sep#_cartes#sep##serverFileName#.#serverFileExt#"
variable="varName"
/>
<cfimage action="resize" source="#varName#" height="300" width="200" name="resized">
<CFFILE
action="write"
file="#StrPath##session.site##sep#_cartes#sep##varName#"
output="#resized#"
addnewline="no"
fixnewline="no"
/>
<CFELSE>
<cfset myfile2=#File.ServerFile#>
</CFIF>
Encore merci !
Copy link to clipboard
Copied
Une des premières choses que j'ai remarqué est que vous utilisez "File.FileSize"; Il doit être "CFfile.FileSize" (le résultat "File.x" a été déconseillé, récemment.)
En outre, vous vérifiez le dernier caractère d'un chemin pour voir si le séparateur de dossier est "\" ou "/"; Le dernier caractère du chemin peut ou non toujours être le caractère séparateur. Obtenez le chemin d'accès, puis utilisez "Find ('/', filePath)", à la place. Si "/" existe, c'est le séparateur; Sinon, alors "\" est le séparateur.
Une autre suggestion serait de définir des variables à partir du premier CFFILE (c'est-à-dire, sf = CFFILE.ServerFileName, sfe = CFFILE.ServerFileExt, etc.) et utiliser celles du deuxième CFFILE (file = "# StrPath ## session.site ## sep # _cartes # sep ## sf #. # Sfe # ").
HTH,
^_^
Copy link to clipboard
Copied
Bonjour,
Malgré tous ces changements, il y a toujours le serveur qui plante 😞
Vous pouvez essayer :
en choisissant l'image personnelle (et bien entendu très grosse)
Merci par avance
Copy link to clipboard
Copied
Bonjour,
Je ne peux pas accéder au lien que vous avez fourni. Mes administrateurs de travail bloquent l'accès à votre site, à partir d'ici.
Quels messages d'erreur, le cas échéant, sont-ils présentés? Des messages d'erreur des FC, des messages d'erreur JavaScript ou du navigateur. Est-ce que les journaux de CFAdmin vous disent quelque chose?
V/r,
^_^
Copy link to clipboard
Copied
Bonjour,
Le fait que vous ne pouvez pas vous connecter à mon site de développement me contrarie beaucoup. Pourriez-vous vous renseigner pourquoi vos administrateurs bloquent le site que je puisse faire remonter l'information car je suis sur un serveur partagé.
Je suis pour un long moment pas chez moi. Aussi je teste mes programmes directement en ligne.
J'ai pour message, un "504 Gateway Time-out"
Merci par avance
Copy link to clipboard
Copied
Le message d'erreur "504" signifie que le serveur Web attend votre serveur CF et qu'il ne reçoit pas de réponse en temps opportun. Chargez-vous des images dont la taille est supérieure à 1 mégaoctet?
En ce qui concerne la décision des administrateurs réseau de bloquer votre site, je travaille pour le ministère de la Défense (je suis un entrepreneur fédéral) et ils sont très paranoïaques sur la sécurité Internet et intranet. Il existe de nombreux sites Web qui sont bloqués pour diverses raisons, et ils ne changeront pas leur position sur cette question.
V/r,
^_^
Copy link to clipboard
Copied
Hi,
Your source code as a lot of interesting things going on. Some of that may be causing the issues you are seeing. Couple points of note for your code:
Take a look at this blog post. It shows how to upload and resize an image. It does save the image to a database but you can ignore that part.
http://www.dreamincode.net/forums/topic/254793-how-to-resize-and-add-an-image-to-a-database/
HTH,
--Dave
Copy link to clipboard
Copied
Bonjour,
La photo issu d'un iPhone fait 938 Ko !
Mais le problème c'est que cela peut arriver souvent !
Je vais essayer avec
http://www.dreamincode.net/forums/topic/254793-how-to-resize-and-add-an-image-to-a-databas e
Mais je trouve cela compliqué. Suis étonné qu'Adobe n'est pas intégré la fonction.
Merci par avance
NB : je comprends pour le blocage de sites
Copy link to clipboard
Copied
Bonjour,
J'ai essayé avec Dreamincode et cela plante toujours !
Je ne comprends plus rien. Dois être maudit 😞
Voici mon code :
<span class="notranslate" onmouseover="_tipon(this)" onmouseout="_tipoff()">
<span class="google-src-text" style="text-align: left; direction: ltr;">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<CFINCLUDE template="inc_init_admin.cfm">
<CFINCLUDE template="inc_verif_var2.cfm">
<title>Essai cfimage</title>
<CFIF NOT IsDefined("mode")><cfset mode=""></CFIF>
<cfset StrPath=ExpandPath( "../../" ) />
<cfset taillemax=500000>
</head>
<body>
<!--------------------------------- INSERT ------------------------------------------>
<CFIF Mode IS "insert">
<CFOUTPUT>
<CFIF Find('/',StrPath) IS "/">
<cfset sep="/">
<CFELSE>
<cfset sep="\">
</CFIF>
</CFOUTPUT>
<cfif Picture neq "">
<cftry>
<cffile
action="upload"
filefield="Picture"
Destination="#StrPath#zennetbuilder.com#sep#Solivres#sep#_cartes#sep#Images_upload"
accept="image/jpeg, image/jpg, image/pjpeg"
nameconflict="makeunique">
<cfimage
action = "info"
source = "#StrPath#zennetbuilder.com#sep#Solivres#sep#_cartes#sep#images_upload#sep##serverfile#"
structname = "Picturetest">
<cfoutput>
<cfset Picturewidth = #Picturetest.width#>
<cfset Pictureheight = #Picturetest.height#>
<cfset PictureSmallwidth = 200>
<cfset PictureSmallHeight = #Pictureheight# / #Picturewidth# * #PictureSmallwidth#>
</cfoutput>
<cfimage action = "resize"
height = "#Round(PictureSmallHeight)#"
width="200"
source="#StrPath#zennetbuilder.com#sep#Solivres#sep#_cartes#sep#Images_upload#sep##serverfile#"
destination="#StrPath#zennetbuilder.com#sep##Solivres#sep#_cartes#sep#Images#sep##serverfile#"
>
</cftry>
<cfelse>
<CFQUERY name="Cartes" datasource="#session.dbname#">
INSERT INTO cartes
(PICTURE
sitename)
VALUES
('#SERVERFILE#'
'#session.site#')
</cfquery>
<script language="Javascript">
alert ("Votre fichier a été enregistré")
</script>
<cflocation url="cartes.cfm">
</cfif>
</CFIF>
<!--------------------------------- Addpic ------------------------------------------>
<CFIF Mode IS "">
<table border="0" cellpadding="0" cellspacing="1" width="500" align="center">
<cfform action="picture_add.cfm" name="AddPic" method="post" enctype="multipart/form-data">
<tr>
<td align="right" class="Copy" valign="top">Photo:</td>
<td align="left" class="Copy" valign="top">
<cfinput type="file" name="PICTURE" required="no">
</td>
</tr>
<tr>
<td> </td>
<td align="left">
<cfinput type="submit" name="Submit" value="Submit">
</td>
</tr>
</cfform>
</table>
</CFIF>
</body>
</html>
</span> !
Merci par avance
Copy link to clipboard
Copied
Bonjour,
Help !!!
Je ne trouve toujours pas 😞
Je ne vois pas le bug !
Je voudrais en faire une fonction. C'est étonnant qu'Adobe ne propose pas ce type de fonction en standard !
Existe-t-il des sites qui le propose ?
Merci par avance pour votre aide
Copy link to clipboard
Copied
Your original question:
<cfimage source="File.ServerFile">
The ServerFile image format is not supported on this operating system
ColdFusion responded correctly. It was an error. See my last post how you can fix it.
Copy link to clipboard
Copied
Bonjour,
"The ServerFile image format is not supported on this operating system"
C'est justement là mon problème car je ne vois pas pourquoi le serveur refuse ce format alors :
Merci pour votre aide
Copy link to clipboard
Copied
ZNB wrote
<cfimage source="File.ServerFile">
"The ServerFile image format is not supported on this operating system"
Car le fichier file.serverfile n'existe pas. Vous voulez dire: #file.serverfile#
Copy link to clipboard
Copied
Merci pour votre aide !
J'ai enfin réussi.
Je ne devais pas être très réveillé 😉
Merci à tous
Copy link to clipboard
Copied
ZNB wrote
Bonjour,
Quand je veux redimensionner une image (.jpg), j'ai le message suivant :
The ServerFile image format is not supported on this operating system
mais quand je n'utilise pas cette fonction, le serveur accepte !
<cfimage action="resize" source="File.ServerFile" height="300" width="200" name="resized">
Merci d'avance pour votre aide
<cffile
action = "upload"
destination = "{absolute_path_to_directory}"
etc.
>
<!--- Plus tard --->
<cfimage action="resize" source="{absolute_path_to_directory}\#File.ServerFile#" height="300" width="200" name="resized">
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more