无法使用asp.net c#web窗体应用程序中的文件上载控件将文档上载到服务器
我有一个asp.net c#web表单应用程序,它使用文件上载控件将文档加载到特定文件夹。上载文件的位置是~\Assignments\assignment\u docs 错误代码为: 找不到路径的一部分 'E:\web\me\Assignments\assignment\u docs\filename.xlsx' 以下是隐藏的代码:无法使用asp.net c#web窗体应用程序中的文件上载控件将文档上载到服务器,c#,asp.net,C#,Asp.net,我有一个asp.net c#web表单应用程序,它使用文件上载控件将文档加载到特定文件夹。上载文件的位置是~\Assignments\assignment\u docs 错误代码为: 找不到路径的一部分 'E:\web\me\Assignments\assignment\u docs\filename.xlsx' 以下是隐藏的代码: protected void btn_fuc_assnmt_doc_Click(object sender, EventArgs e) {
protected void btn_fuc_assnmt_doc_Click(object sender, EventArgs e)
{
int i = 0;
string filename = fuc_assnmt_doc.FileName;
if (fuc_assnmt_doc.HasFile)
{
while (System.IO.File.Exists(Server.MapPath("~/Assignments/assignment_docs/") + filename))
{
i++;
filename = fuc_assnmt_doc.FileName + " (" + i.ToString() + ")";
}
fuc_assnmt_doc.PostedFile.SaveAs(Server.MapPath("~/Assignments/assignment_docs/") + filename);
}
SqlConnection azunl_cnxn = new SqlConnection("Data Source=tcp:s09.winhost.com;Initial Catalog=XXXX;User ID=XXXX;Password=XXXX;Integrated Security=False;");
{
SqlCommand new_doc_cmd = new SqlCommand("Insert Into tbl_assnmt_doc(assnmt_doc_title, assnmt_doc_type, assnmt_doc_upld_by ,assnmt_doc_upld_dt, assnmt_doc_path, assnmt_doc_desc, assnmt_id_fk) Values(LTRIM(RTRIM(@assnmt_doc_title)), LTRIM(RTRIM(@assnmt_doc_type)), LTRIM(RTRIM(@assnmt_doc_upld_by)), LTRIM(RTRIM(@assnmt_doc_upld_dt)), LTRIM(RTRIM(@assnmt_doc_path)), LTRIM(RTRIM(@assnmt_doc_desc)), LTRIM(RTRIM(@assnmt_id_fk)))", azunl_cnxn);
new_doc_cmd.Parameters.AddWithValue("@assnmt_doc_title", assnmt_doc_title_txt.Text);
new_doc_cmd.Parameters.AddWithValue("@assnmt_doc_type", assnmt_doc_type_ddl.Text);
new_doc_cmd.Parameters.AddWithValue("@assnmt_doc_upld_by", System.Web.HttpContext.Current.User.Identity.Name);
new_doc_cmd.Parameters.AddWithValue("@assnmt_doc_upld_dt", DateTime.Now.ToString());
new_doc_cmd.Parameters.AddWithValue("@assnmt_doc_path", Server.MapPath("~/Assignments/assignment_docs/") + filename);
new_doc_cmd.Parameters.AddWithValue("@assnmt_doc_desc", assnmt_doc_desc_txt.Text);
new_doc_cmd.Parameters.AddWithValue("@assnmt_id_fk", hdn_assnmt_id_fk.Value);
azunl_cnxn.Open();
new_doc_cmd.ExecuteNonQuery();
azunl_cnxn.Close();
if (IsPostBack)
{
assnmt_doc_title_txt.Text = "";
assnmt_doc_type_ddl.SelectedValue = "";
assnmt_doc_desc_txt.Text = "";
hdn_assnmt_id_fk.Value = "";
gv_assnmt_docs.DataBind();
lbl_new_doc_submitted.Text = ("Your new document has been successfully submitted.");
}
}
}
这在我的本地主机上的dev中正常工作,但在我的Winhost服务器上尝试时出现错误。是否检查了服务器目录上的写入权限?我是通过IIS完成的,对吗?我可以在IIS中查看我的站点,但在该站点下没有可用的“应用程序池”。当我查看我的本地主机时,它是可用的,只是不在现场。我对IIS了解不多,因此非常感谢您提供更多帮助。请使用Windows资源管理器检查“~/Assignments/assignment\u docs/”,右键单击并检查是否未选择只读选项。谢谢JCM。我不知道为什么,但我可以看到生产服务器上的assignment_docs文件夹,但我无法浏览它-找不到它。因此,我只是将所有文件再次发送到服务器,经过两次尝试后,它现在可以看到文件夹,并按预期工作。