1

以下のアップロードフォームを使用して、以下のコードを使用してファイルを処理するページに投稿しています。ただし、ファイルは表示されません。ファイルが投稿されていない状態でカウント0を取得します。フォームの投稿に何かが足りませんか?ファイルをアップロードするときに何を使用する必要があるかについては、かなり具体的だと思います。以下にさらに情報を含めました。

<form id="importform" method="POST" target="uploadframe" enctype="multipart/form-data" action="AJAX/Import_Subprocess_Content/RAC_Connolly_ImportSession.aspx">
                                        <input type="file" id="importfile" onchange="fileselected()"/>
                                        <input type="button" value="Import File" onclick="uploadfile();" />
                                    </form>

サーバーサイドコード

  protected void Page_Load()
        {
            Response.Write(Request.Files.Count);
        }

さらに詳しい情報

フォームは、JavaScriptを使用して投稿されます.submit()

ファイル入力はvisibility:hidden

ボタンは最初click()にファイル入力のを呼び出します

onchangeファイル入力はsubmit()、フォームのを呼び出します

更新:非表示の属性を削除しようとしましたが、問題は修正されませんでした。

4

2 に答える 2

0

あなたは実際にファイルのアップロードをしていません。[ファイルのインポート]ボタンにコードを追加する必要があります。

このコードはファイルフィールドを調べ、ファイルがあることを確認してから、アップロードできるのはCSVのタイプのみであることを示しています。次に、ファイルをWebサーバーの/datafilesフォルダーに保存します。

protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (file.HasFile)
        {
            try
            {
                if (file.PostedFile.ContentType == "application/octet-stream")
                {
                    string filename = Path.GetFileName(file.FileName);
                    file.SaveAs(Server.MapPath("~/datafiles/") + filename);
                    lblStatus.ForeColor = Color.Green;
                    lblStatus.Text = "Upload status: File uploaded!";
                }
                else
                {
                    lblStatus.ForeColor = Color.Red;
                    lblStatus.Text = "Upload status: Only .CSV files are accepted! This is a " + file.PostedFile.ContentType + " file";
                }
            }
            catch (Exception ex)
            {
                lblStatus.ForeColor = Color.Red;
                lblStatus.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
            }
        }
    }
于 2012-05-22T15:38:19.297 に答える
0

ファイルをアップロードするには、name属性が必要です。name属性を指定すると、IE7で別の問題が発生します。これは、ファイルをアップロードするときにjavascriptを介してフォームを投稿できないことです。onchangeイベントではなく、デフォルトで送信ボタンを使用する必要がありました。

于 2012-05-23T16:36:55.763 に答える