c# - gettempfilename - ¿Corregir ubicación para guardar un archivo temporal en Windows?
get temp path c# (5)
Use la función API de Windows GetTempPath()
desde System.IO.Path
(vea MSDN )
using System.IO
...
myTempPath = Path.GetTempPath();
Debe tener en cuenta que el sistema de archivos podría cambiar durante la ejecución de su programa. O bien la ruta de la temperatura puede cambiar (poco probable, concedida) o su archivo temporal puede haber sido movido o eliminado por el usuario.
Esté preparado para verificar su existencia cada vez que acceda y maneje el caso cuando no se encuentre correctamente.
Tengo un archivo que necesito escribir en una ubicación temporal, ¿cuál es el mejor lugar en Windows? Este archivo no necesita moverse ya que necesito leerlo un par de veces y desecharlo cuando cierre el programa.
utilizar
Path.GetTempPath();
o
Path.GetTempFileName();
Como señaló el comentarista, GetTempFileName () no es seguro para la ejecución de hilos, pero puede construir nombres de archivo únicos basados en GUID.
Si necesita que su aplicación escriba en una ubicación temporal y trabaje en una confianza parcial, debe buscar en IsolatedStorage .
Los otros me golpearon con respecto a
System.IO.Path.GetTempPath()
Pero también puedes mirar en la carpeta de datos de la aplicación. Eso le permitirá un mayor control sobre su archivo, como la capacidad que tienen 1 compartido para todos los usuarios o 1 por usuario.
Application.CommonAppDataPath
Application.UserAppDataPath
Si desea construir su propio nombre de archivo temporal personalizado en referencia a una ubicación temporal, uso algo como esto, para quitar la ruta y aplicar mi propio nombre de archivo ...
string wsPDFfile = Path.GetTempPath() + wsStudentID + "_" + Path.GetFileNameWithoutExtension(Path.GetTempFileName()) + ".pdf";