obtener nombre extension cambiar archivo c#

nombre - Cambiar la extensión de archivo usando C#



cambiar la extension de un archivo c# (4)

Tengo muchos tipos de archivos: pdf, tiff, jpeg, bmp. etc. Mi pregunta es ¿cómo puedo cambiar la extensión de archivo? Intenté esto:

my file= c:/my documents/my images/cars/a.jpg; string extension = Path.GetExtension(myffile); myfile.replace(extension,".Jpeg");

No importa qué tipo de archivo sea, el formato que especifique debe estar con el nombre del archivo. Pero no funciona. Obtengo la ruta del archivo desde el navegador como c:/../../a.jpg , y el formato del archivo es a.jpeg . Entonces, cuando intento eliminarlo, me da un error: Cannot find the file on specified path'' . Entonces, estoy pensando que tiene algo que ver con la extensión de archivo que no coincide. Entonces, estoy tratando de convertir .jpg a .jpeg y borrar el archivo.


Debería hacer un movimiento del archivo para cambiarle el nombre. En su código de ejemplo, solo está cambiando la cadena, no el archivo:

myfile= "c:/my documents/my images/cars/a.jpg"; string extension = Path.GetExtension(myffile); myfile.replace(extension,".Jpeg");

solo está cambiando myfile (que es una cadena). Para mover el archivo real, debes hacer

FileInfo f = new FileInfo(myfile); f.MoveTo(Path.ChangeExtension(myfile, ".Jpeg"));

Ver FileInfo.MoveTo


GetFileNameWithoutExtension, como su nombre lo indica, no devuelve la extensión en el archivo. En tu caso, solo devolvería "a". Desea agregar su ".Jpeg" a ese resultado. Sin embargo, en un nivel diferente, esto parece extraño, ya que los archivos de imagen tienen metadatos diferentes y no se pueden convertir tan fácilmente.


Hay: método Path.ChangeExtension . P.ej:

var result = Path.ChangeExtension(myffile, ".jpg");

En el caso de que también desee cambiar físicamente la extensión, podría usar el método File.Move :

File.Move(myffile, Path.ChangeExtension(myffile, ".jpg"));


prueba esto.

filename = Path.ChangeExtension(".blah")

en ti caso:

myfile= c:/my documents/my images/cars/a.jpg; string extension = Path.GetExtension(myffile); filename = Path.ChangeExtension(myfile,".blah")

Deberías mirar esta publicación también:

Path.ChangeExtension