c# - 上传的文件未发布

标签 c# javascript forms post file-upload

我正在使用下面的上传表单发布到使用下面的代码处理文件的页面。但是,该文件没有显示。我的计数为 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()

更新:尝试删除隐藏属性,但没有解决问题。

最佳答案

您实际上并没有进行文件上传。您需要将代码添加到“导入文件”按钮。

此代码查看文件字段,检查它是否有文件,然后表示只能上传 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;
            }
        }
    }

关于c# - 上传的文件未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623894/

相关文章:

forms - 更改表格选择多个突出显示颜色

C# 应用程序许可证组件和控件

javascript - 尝试在 ie 中将规则添加到样式表时出现无效参数错误

javascript - 从 api 检索数组数据到 Angular 应用程序

php - 如何验证表单是否为空? PHP 或 JS

javascript - "null"值显示在 IE 的表单字段中

c# - 将 EF Core 列/字段指定为只读

c# - 在字典中创建匿名类作为自定义键

c# - 具有分离条件的休眠分页

javascript - 带有 this/bind 的 JS 原型(prototype)范围