J'ai une application asp.net où les utilisateurs peuvent télécharger des fichiers dans notre base de données.Obtention d'une extension de fichier et d'un type de contenu incorrects lors du téléchargement du fichier
Parfois, quand ils téléchargent les fichiers, le content-type
est défini comme "application/octet-stream"
qui est un fichier binaire.
Lorsque je demande à l'utilisateur, ils disent qu'ils ont téléchargé, ils disent qu'il s'agissait d'un fichier .tif
. D'une certaine manière, le contrôle de téléchargement le définit comme "application/octet-stream"
.
Lorsque je télécharge le même fichier .tif
à partir de mon ordinateur, il le télécharge avec le type de contenu correct (application/octet-stream
).
J'utilise le code suivant pour obtenir l'extension de fichier
fileExtension = filUpload.PostedFile.FileName.Substring(filUpload.PostedFile.FileName.LastIndexOf(".") + 1)
parfois, il retourne l'extension de fichier comme "c:\documen"
ou "j:\testing"
etc. Je sais que les fenêtres ne permet pas de caractères spéciaux dans le nom du fichier.
d'abord, ne pas réinventer la roue, utilisez System.IO.Path.GetExtension pour obtenir l'extension – BlackTigerX
secondes, vous évoquez « application/octet-stream » à la fois, la bonne et la mauvaise valeur – BlackTigerX