2017-10-17 6 views
0
<div class="col-sm-6"> 

     <asp:FileUpload ID="FileUpload" runat="server" AllowMultiple="true" /> 
    </div> 

コード:ファイルアップロードコントロールを使用して、一度にファイルの画像と動画の種類のみをアップロードすることはできますか?背後

string ext = System.IO.Path.GetExtension(this.FileUpload.PostedFile.FileName); 
    foreach (var file in FileUpload.PostedFiles) 
    { 
     if (ext == ".jpeg" || ext == ".png" || ext == ".bmp" || ext == ".jpg") 
      { 
      if (FileUpload.PostedFile.ContentLength > 0 && 
          FileUpload.PostedFile.ContentLength <= 625000) 
        {..... 
         } 

    else if (ext == ".mpeg4" || ext == ".mp4" || ext == ".3gp" || ext == ".flv") 
    { 
     if (FileUpload.PostedFile.ContentLength > 0 && FileUpload.PostedFile.ContentLength <= 625000) 
    {.............................} 
    } 

私は2つのファイル1をアップロードするときの問題はそれだけでそのファイルを挿入するものは何でも、私はファイルアップロードコントロールの最初のファイルを選択し、その後のMP4ファイル* .jpgファイルや他の1 *です最初に選択された、私はデータベーステーブルの異なるcoloumn、すなわち画像coloumnの画像パスとビデオcoloumnのビデオパスに両方のファイルを挿入したいと思います。

また、foreachループの下で"string ext = System.IO.Path.GetExtension(this.FileUpload.PostedFile.FileName)"を試してみましたが、まずは.jpgボディのIfステートメントを実行して、2番目のファイルループの開始時にイメージファイルを挿入します。画像列にビデオパスを挿入します。

ファイルが.mp4であることを確認した後でも、なぜこの.jpgの文が実行されているのか分かりません。これは問題です。私は直面しています。

注:コード文字列をデバッグすると、extは.jpg拡張子をとります。その後、foreachループでは、2番目のファイルは.mp4形式になり、次にextは.jpgを含みます。

答えて

0

あなたはタイプミスがあります。ファイル拡張子を取得するためにループの前に一度だけでなく、各繰り返しでファイル変数からfilenameにアクセスしてください。

+0

ありがとうございました。 –

+0

オハイオ州のええ、確かに、私はそれを忘れてしまった。もう一度thnx Alott! –

関連する問題