Y at-il un moyen d'utiliser les éléments HttpPostedFileBase pour savoir si c'est un fichier vidéo valide fomart (sauf de valider l'extension). Im en utilisant aspnet mvc 3 en passant.valider fichier vidéo au format avec HttpPostedFileBase
Répondre
Si vous voulez être absolument certain, il est préférable de vérifier le flux du HttpPostedFileBase
pour les octets magiques. C'est parce que certaines applications peuvent l'écrire comme une extension que vous pensez pouvoir traiter (comme MP4), mais en réalité c'est un autre format comme M4V. Par exemple, pour vérifier si un flux est un flux de variation MP4, vous pouvez vérifier si le flux commence par les octets 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 0x6D, 0x70 et 0x34. Vous pouvez trouver plus de formats here.
Quelque chose comme cela peut fonctionner:
public static bool IsMP4(System.IO.Stream stream)
{
return HasMagicBytes(stream, 0, 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 0x6D, 0x70, 0x34);
}
public static bool HasMagicBytes (System.IO.Stream stream, int offset, params byte[] magicBytes)
{
try {
bool match = false;
byte[] bytes = new byte[magicBytes.Length];
if (stream.Read (bytes, offset, magicBytes.Length) == magicBytes.Length) {
for (int i = 0; i < magicBytes.Length; i++) {
if (bytes [i] != magicBytes [i]) {
return false;
}
}
return true;
} else {
return false;
}
} finally {
stream.Seek (0, System.IO.SeekOrigin.Begin);
}
}
Certains précautions doivent être prises si le flux est positionnable. Cette technique est plutôt efficace pour les fichiers plus volumineux. Pour ce réutilisable, vous pouvez écrire un ValidationAttribute donc il peut être possible de définir votre modèle comme celui-ci:
public class MyModel
{
[CheckFormat(0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 0x6D, 0x70, 0x34)]
public HttpPostedFileBase MyFile { get; set; }
}
Mais je vais laisser vous d'enquêter plus loin.
Il n'y a aucun moyen de validation. Vous devez valider l'extension du fichier. Peut-être que cela va aider: http://blog.tomasjansson.com/2011/08/creating-custom-unobtrusive-file-extension-validation-in-asp-net-mvc-3-and-jquery/
- 1. envoyer le fichier vidéo au format .mp4 au service web
- 2. Enregistrer la vidéo au format 3GP
- 3. convertir la vidéo au format de fichier mjpeg
- 4. Comment valider un jtextfield au format spécifique?
- 5. Comment valider le format de fichier image en C#
- 6. Valider le format Fichier Tricky en Java
- 7. Convertir HttpPostedBase au format utilisable avec File.ReadAllLines()
- 8. Rails comment valider le format de fichier?
- 9. convertir le format de fichier vidéo matlab
- 10. Convertir la vidéo au format mp4
- 11. Enregistrer la vidéo au format flv
- 12. Mocking HttpPostedFileBase avec Rhino Mocks
- 13. Comment obtenir la taille du fichier HttpPostedFileBase
- 14. asp.net mvc HttpPostedFileBase obtenir l'extension de fichier
- 15. Passage de fichier local à HttpPostedFileBase
- 16. Fichier .json au format HTML
- 17. nombre variable d'objets HttpPostedFileBase
- 18. Format d'un fichier .wmv. (ou tout fichier vidéo serait génial)
- 19. Analyseur de format vidéo
- 20. convertir des fichiers vidéo au format .flv en grails
- 21. convertir des fichiers vidéo au format flv dans C#
- 22. HttpPostedFileBase éditeur pour utiliser avec EditorForModel
- 23. Pass HttpPostedFileBase comme argument
- 24. Expression régulière pour valider une adresse IP, au format ipv6
- 25. Liaison HttpPostedFileBase utilisant Ajax.BeginForm
- 26. Comment valider le format de fichier INI dans Eclipse
- 27. Comment valider la taille du fichier de téléchargement vidéo
- 28. Comment construire HttpPostedFileBase?
- 29. HttpPostedFileBase return null
- 30. Format vidéo Android