2016-12-19 12 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

だから、このコードの問題は何ですか?拡張子は、ファイルを表すバイト配列のマジックナンバーから見つけることができます。 – mybirthname

+0

@mybirthnameここで、ファイルは拡張子なしで保存されます。ありがとう – Jithin

+0

それは彼が意味したことです、ファイルの拡張子がない場合は、ファイルの先頭にある 'magic bytes'を調べなければなりません。オンラインで検索すると、これに関する多くの情報があります。 – Equalsk

答えて

0

ファイルを保存する前にアップロードされたファイルの拡張子を知っている:

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

"strFileExtension"でnull /空の拡張を取得しています。ありがとう – Jithin

+0

あなたのコードをデバッグしようとしましたか?あなたのファイル変数がnullを返さないのは確かですか? –

+1

OPはコメントに、これらのファイルに拡張子がないと述べているため、このコードではエラーが発生します。彼はファイルの「マジックバイト」を調べる必要があります。すでにこれを行う方法についての回答があります。 – Equalsk

関連する問題