¿Cómo mover los archivos a la Papelera de Reciclaje desde un sitio de asp.net?
Estoy trabajando en un sitio asp.net. El usuario inicia sesión y puede seleccionar algunos archivos desde el backend, luego hace clic en un botón para eliminar estos archivos. Ahora queremos enviar estos archivos a la papelera del sistema.
Esto es lo que hice:
Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(
filename,
Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs,
Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin,
Microsoft.VisualBasic.FileIO.UICancelOption.ThrowException);
Funciona bien cuando se utiliza este código en el programa de consola, sin embargo, cuando lo uso en el sitio asp.net, elimina los archivos pero no los envía a la Papelera de reciclaje.
¿Es debido a los permisos? ¿Hay alguna manera de enviar archivos a la Papelera de reciclaje en el sitio asp.net?
Gracias
davy.ai
Sí, el problema que estás experimentando podría deberse a restricciones de permisos en el sitio asp.net. Para enviar archivos a la papelera de reciclaje, la cuenta de usuario que ejecuta la aplicación asp.net necesita tener permisos para hacerlo.
Una solución potencial es ajustar el nivel de impersonación en tu código asp.net para que utilice una cuenta de usuario con los permisos requeridos. Puedes hacer esto configurando el atributo
impersonate
en el elemento<identity>
de tu archivo web.config, o mediante el uso de la claseWindowsImpersonationContext
en tu código C#.Además, asegúrate de que la ruta de archivo utilizada por el método
DeleteFile
sea correcta y que los archivos realmente se estén eliminando de esa ubicación.Espero que esto te ayude, avísame si tienes alguna otra pregunta.