我有一个下拉列表&文件uploader.Here我需要,当选择下拉列表&之后需要加载文件uploader。在我的编码中总是显示没有文件。 在这里,我需要使用文件上传器将SelectedValue传递给数据库。
我的代码
protected void drpuser_SelectedIndexChanged(object sender, EventArgs e)
{
Guid SelectedUserId =Guid.Parse(drpuser.SelectedValue);
FileUploader();
}
FileUploader
public void FileUploader()
{
// var user = Membership.GetUser();
if (Roles.IsUserInRole("Administrator"))
{
Guid SelectedUserId = Guid.Parse(drpuser.SelectedValue); //<-- value correct
foreach (string s in Request.Files)
{
HttpPostedFile file = Request.Files[s];
int fileSizeInBytes = file.ContentLength;
string fileName = file.FileName;
string fileExtension = "";
if (!string.IsNullOrEmpty(fileName))
fileExtension = Path.GetExtension(fileName);
Guid UserGUID = (Guid)Membership.GetUser().ProviderUserKey;
string UserFolderPath = "~/UploadedFiles/" + UserGUID;
System.IO.Directory.CreateDirectory(Server.MapPath(UserFolderPath));
string savedFileName = Path.Combine(Server.MapPath(UserFolderPath), fileName);
string FullPath = UserFolderPath + "/" + fileName;
file.SaveAs(savedFileName);
DataAccess da = new DataAccess();
da.AddAdminFiles(UserGUID, FullPath, DateTime.Now, true, SelectedUserId);
}
}
else
{
}
答案 0 :(得分:0)
我认为该文件只会在实际提交时发布。我不确定AutoPostBack会不会自动提交文件..可能是HTTP开销太多了。
如果可以,请添加“提交”按钮,让用户从下拉列表中选择一个项目并提供文件。然后,当用户提交时,查找HTTP文件,它应该在请求对象中。