1

.html複数のファイルをアップロードし、それらを for ループに入れて同時にフォーマットに変換しようとしています。複数のファイルのアップロードが行われ、「アップロード済み」ファイルに保存されますが、すべてではなく最初のファイルのみが.htmフォーマットに変換されます。

これが私のコードです:

protected void btnUpload_Click(object sender, EventArgs e)
    {

        HttpFileCollection fileCollection = Request.Files;
        //Code to check if user has selected any file on the form
        if (!(fUpload1.HasFile))
        {
            lblMessage1.Text = "Please choose file to upload";
        }
        else
        {
            for (int i = 0; i < fileCollection.Count; i++)
            {
                try
                {
                    HttpPostedFile uploadfile = fileCollection[i];
                    string fileName = System.IO.Path.GetFileName(uploadfile.FileName);

                    //To check the file extension if it is word document or something else
                    //string strFileName = fUpload1.FileName;
                    string[] strSep = fileName.Split('.');
                    int arrLength = strSep.Length - 1;
                    string strExt = strSep[arrLength].ToString().ToUpper();

                    //Save the uploaded file to the folder
                    strPathToUpload = Server.MapPath("Uploaded2");

                    //Map-path to the folder where html to be saved
                    strPathToConvert = Server.MapPath("Aadi2");

                    object FileName = strPathToUpload + "\\" + fileName;
                    object FileToSave = strPathToConvert + "\\" + fileName + ".htm";

                    if (strExt.ToUpper().Equals("DOC") | strExt.ToUpper().Equals("DOCX"))
                    {
                        uploadfile.SaveAs(strPathToUpload + "\\" + fileName);
                        lblMessage1.Text = "File uploaded successfully";
                        //open the file internally in word. In the method all the parameters should be passed by object reference
                        objWord.Documents.Open(ref FileName, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing, ref missing);
                        //Do the background activity
                        objWord.Visible = false;


                        Microsoft.Office.Interop.Word.Document oDoc = objWord.ActiveDocument;
                        oDoc.SaveAs(ref FileToSave, ref fltDocFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                        lblMessage1.Text = fileName + " done";

                    }
                    else if (strExt.ToUpper().Equals("JPG"))
                    {
                        strPathToUpload = Server.MapPath("images");
                        uploadfile.SaveAs(strPathToUpload + "\\" + fUpload1.FileName);
                        lblMessage1.Text = "logo uploaded successfully";

                    }
                    else if (strExt.ToUpper().Equals("TXT"))
                    {
                        strPathToUpload = Server.MapPath("name");
                        fUpload1.SaveAs(strPathToUpload + "\\" + fUpload1.FileName);
                        lblMessage1.Text = "Website name uploaded successfully";

                    }
                    else if (strExt.ToUpper().Equals("MP4"))
                    {
                        strPathToUpload = Server.MapPath("video");
                        fUpload1.SaveAs(strPathToUpload + "\\" + fUpload1.FileName);
                        lblMessage1.Text = "Video uploaded successfully";

                    }

                    else
                    {
                        lblMessage1.Text = "Invalid file selected!";
                    }
                    //Close/quit word
                    objWord.Quit(ref missing, ref missing, ref missing);
                }
                catch (Exception ex)
                {
                    Response.Write(ex.Message);
                }
            }
        }
    } 
4

3 に答える 3

0

asp.net で 1 つのファイル アップロード コントロールを使用して複数のファイルをアップロードすることはできません。

解決策については、ここを確認してください:複数のファイルアップロードコントロールを使用したasp.netの複数のアップロードhttp://www.dotnetcurry.com/ShowArticle.aspx?ID=68

または 複数のファイルをアップロードするには、クライアント側で複数のアップロード コントロールを生成するか、ユーザー定義のコントロールを作成します。

于 2013-04-17T03:38:39.057 に答える