2016-12-19 1 views
0
 HttpPostedFile file = context.Request.Files[j]; 
    string fileName = file.FileName; 
    string fileExtension = System.IO.Path.GetExtension(filepath + file.FileName); 
    if (!string.IsNullOrEmpty(fileName) 
    { 
     string pathToSave_100 = HttpContext.Current.Server.MapPath(filepath) + fileName + fileExtension; 
     if (File.Exists(pathToSave_100)) 
     { 
      File.Delete(pathToSave_100); 
      file.SaveAs(pathToSave_100); 
     } 
     else 
     { 
      file.SaveAs(pathToSave_100); 
     } 
    } 
+0

Also, was ist das Problem mit diesem Code ist? Die Erweiterung kann von den magischen Zahlen des Bytearrays gefunden werden, die die Datei darstellen. – mybirthname

+0

@mybirthname Hier wird die Datei ohne Extension gespeichert. Danke – Jithin

+0

Das ist, was er meinte, wenn es keine Dateierweiterung gibt, müssen Sie die "magischen Bytes" am Anfang der Datei überprüfen. Es gibt viele Informationen darüber, wenn Sie online suchen. – Equalsk

Antwort

0

Speichern Sie mögen dies tun können:

string strFileExtension = Path.GetExtension(file.FileName); 
+0

NULL/leere Erweiterung in "strFileExtension" erhalten. Danke – Jithin

+0

Haben Sie versucht, Ihren Code zu debuggen? Sind Sie sicher, dass Ihre Dateivariable nicht null zurückgibt? –

+1

OP sagt in einem Kommentar, dass diese Dateien keine Erweiterung haben, deshalb gibt dieser Code einen Fehler aus. Er muss die "magischen Bytes" der Datei prüfen. Es gibt Antworten darauf, wie man das schon macht. – Equalsk

Verwandte Themen