Comme le titre l'indique; Est-il possible de définir le type de contenu d'un fichier dans Silverlight SaveFileDialog? Je n'ai pas trouvé un moyen, et je ne suis pas surpris si ce n'est pas possible, je pensais juste demander et voir si quelqu'un d'autre le sait à coup sûr.définir le type de contenu du fichier, dans silverlight SaveFileDialog
0
A
Répondre
0
this.dialog = new SaveFileDialog();
try
{
this.dialog.DefaultExt = ".txt";
this.dialog.Filter = "Text Files|*.txt|Log Files|*.log|All Files|*.*";
this.dialog.FilterIndex = 2;
}
catch (Exception ex)
{
this.tblError.Text = "Error configuring SaveFileDialog: " + ex.Message;
}
1
Ce que vous cherchez est le type Mime du fichier téléchargé. Je suppose que cela fonctionnera dans Silverlight et je ne vois pas pourquoi, mais je ne l'ai jamais utilisé dans ce contexte. Vous devez ajouter ce qui suit:
using System.Reflection;
using System.Runtime.InteropServices;
[System.Runtime.InteropServices.DllImport(@"urlmon.dll", CharSet = CharSet.Auto)]
private extern static System.UInt32 FindMimeFromData(
System.UInt32 pBC,
[MarshalAs(UnmanagedType.LPStr)] System.String pwzUrl,
[MarshalAs(UnmanagedType.LPArray)] byte[] pBuffer,
System.UInt32 cbSize,
[MarshalAs(UnmanagedType.LPStr)] System.String pwzMimeProposed,
System.UInt32 dwMimeFlags,
out System.UInt32 ppwzMimeOut,
System.UInt32 dwReserverd
);
public void SomeMethod(string fileName)
{
string mimeType = getMimeFromFile(fileName);
if (mimeType == "text/plain")
{
// do something
}
}
private string getMimeFromFile(string filename)
{
if (!File.Exists(filename))
throw new FileNotFoundException(filename + " not found");
byte[] buffer = new byte[256];
using (FileStream fs = new FileStream(filename, FileMode.Open))
{
if (fs.Length >= 256)
fs.Read(buffer, 0, 256);
else
fs.Read(buffer, 0, (int)fs.Length);
}
try
{
System.UInt32 mimetype;
FindMimeFromData(0, null, buffer, 256, null, 0, out mimetype, 0);
System.IntPtr mimeTypePtr = new IntPtr(mimetype);
string mime = Marshal.PtrToStringUni(mimeTypePtr);
Marshal.FreeCoTaskMem(mimeTypePtr);
return mime;
}
catch (Exception ex)
{
return ex.Message;
}
}
Questions connexes
- 1. Silverlight SaveFileDialog - Définir le nom de fichier par défaut
- 2. Pouvez-vous définir le répertoire initial dans SaveFileDialog de Silverlight
- 3. changer le nom du fichier dans SaveFileDialog
- 4. Télécharger un fichier statique dans Silverlight 3 sans utiliser SaveFileDialog
- 5. Problème avec SaveFileDialog dans Silverlight 3
- 6. silverlight SaveFileDialog ne montre pas
- 7. Lire le contenu du fichier ZIP dans silverlight
- 8. Obtenir le nom de fichier du fichier de contenu dans Silverlight
- 9. Type de fichier Silverlight
- 10. Comment définir le type de contenu correctement?
- 11. C# Silverlight WebClient obtenir le type de réponse de contenu?
- 12. Ouvrir un fichier au lieu d'enregistrer un fichier dans Silverlight SaveFileDialog
- 13. Sélectionner le chemin du dossier avec savefileDialog
- 14. Modifier l'extension du fichier lorsque l'utilisateur change Enregistrer en tant que type dans SaveFileDialog
- 15. Définir le corps du contenu de httpresponse?
- 16. Définir le contenu du fichier texte en tant que tableau
- 17. Comment définir le type de contenu XML dans Flex 3?
- 18. node.js jade - comment définir le type de contenu dans jade
- 19. Définir le type de contenu d'une réponse dans Struts2
- 20. Le type de contenu du fichier importé n'est pas correct
- 21. Définir le contenu du CMS dans .NET
- 22. Enregistrement du fichier txt à l'aide de saveFileDialog (C++)
- 23. Charger du contenu HTML dans Silverlight RichTextBox?
- 24. Javascript - Valider la validation du type de contenu du fichier
- 25. Définir le type d'enregistrement de fichier sur vcard dans MVC
- 26. Supporte le contenu du texte dans le contrôle Silverlight?
- 27. SaveFileDialog bloquant le lecteur amovible
- 28. Comment définir l'en-tête du type de contenu pour un fichier local?
- 29. Comment définir le contenu du fichier mis en cache dans l'index pour un contenu arbitraire
- 30. comment définir une image d'arrière-plan pour le contenu du titre d'une fenêtre enfant dans Silverlight?
Ceci est juste le réglage du filtre. Je veux que le navigateur qui héberge l'application sache quel type de contenu est. – MrW