wwwroot net asp array c# asp.net file-upload format binaryreader

c# - net - ¿Cómo puedo verificar si el archivo cargado tiene el formato correcto?



net core file upload (2)

Aquí hay una versión simplificada del enlace que David ha publicado en los comentarios.

HttpPostedFile file = FileUploadPassfoto.PostedFile; if (file.ContentType == "image/x-png" || file.ContentType == "image/pjpeg" || file.ContentType == "image/jpeg" || file.ContentType == "image/bmp" || file.ContentType == "image/png" || file.ContentType == "image/gif") { // it is an image }

Esta pregunta ya tiene una respuesta aquí:

Yo trabajo con c # y asp.net

Creé una página web con un formulario web donde ingresas tu información para poder enviarla. También hay una carga de archivos en mi página: <asp:FileUpload ID="FileUploadPassfoto" runat="server"/> En mi código c # detrás he codificado un IF-Loop que verifica si algo se subió. Me gusta esto:

if (FileUploadPassfoto.HasFile == true) { HttpPostedFile file = FileUploadPassfoto.PostedFile; using (BinaryReader binaryReader = new BinaryReader(file.InputStream)) { lehrling.passfoto = binaryReader.ReadBytes(file.ContentLength); } LabelPassfotoError.Visible = false; } else { LabelPassfotoError.Visible = true; LabelError.Visible = true; }

Lo que hace es: Como dije, comprueba si se subió algo. Si no se subió nada, se mostrará ErrorLabel para que el usuario sepa que olvidó subirlo.

Lo que quiero verificar también, es si el archivo cargado es una imagen. Para ser más claro, solo quiero aceptar .jpg / .bmp y .gif. Si se carga un formato incorrecto, también quiero mostrar mi ErrorLabel.

Realmente no sé cómo debo hacer esto, ¿pueden ayudarme? Gracias


protected void Button1_Click(object sender, EventArgs e) { string strFileName = Path.GetFileName(FileUpload1.PostedFile.FileName); string strFileWithoutExt = Path.GetFileNameWithoutExtension(strFileName); string strExtension = Path.GetExtension(strFileName); if (strExtension == ".jpg" || strExtension == ".bmp" || strExtension == ".gif") { string strImageFolder = "~/YourFilePath/"; if (!Directory.Exists(Server.MapPath(strImageFolder))) Directory.CreateDirectory(Server.MapPath(strImageFolder)); string _strPath = Server.MapPath(strImageFolder) + strFileName; FileUpload1.PostedFile.SaveAs(_strPath); Label1.Text = "Upload status: File uploaded."; } else Label1.Text = "Upload status: only .jpg,.bmp and .gif file are allowed!"; }

Espero que te ayude mucho más ...