FireFox 上传文件
火狐下上传文件获取到的值只有文件名没有路径,IE正常。
怎么解决?在火狐中怎么获取上传文件的路径??
------解决方案-------------------- void UploadImage()
{
HttpFileCollection uploadFilCol = Request.Files;
for (int i = 0; i < uploadFilCol.Count; i++)
{
HttpPostedFile file = uploadFilCol[i];
string fileExt = Path.GetExtension(file.FileName).ToLower();
string fileName = Path.GetFileName(file.FileName);
if (fileName != string.Empty)
{
try
{
if (fileExt == ".jpg" || fileExt == ".gif")
{
file.SaveAs(Server.MapPath("./Images/") + fileName);
this.ShowMessage(" " + fileName + " Successfully Uploaded", i);
}
else
{
file.SaveAs(Server.MapPath("./Others/") + fileName);
this.ShowMessage(" " + fileName + " Successfully Uploaded", i);
}
}
catch (Exception ex)
{
this.ShowMessage(" " + ex.Message, i);
}
}
}
}
你改改吧~ 我都是用这个 firefox也很好使
------解决方案-------------------- 这个上传你怎么也得提交form才行的吧,要是提交form的话,不用得到那个路径就可以的
要是不提交的话,我想只给个路径是不能上传的吧,个人理解,不对的地方请指出。。。
ie能得到那个路径,按理说具有一定的不安全性的
------解决方案--------------------
aspx
__
我使用了Jquery的插件,所以在<form >中不写>>
<form id="Form1" method="post" runat="server" enctype="multipart/form-data">
在form中加入enctype="multipart/form-data"这句话
若不是,则需要
使用<input type=file>
$.ajaxFileUpload(
{
url:'UploadImage.aspx',
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'json',
success: function (data, status)
{
// 上传成功
}
});
UploadImage.aspx.cs:
if (Request.Files.Count > 0)
{
HttpPostedFile file = Request.Files[0];
string strImagePath = Server.MapPath("~/uploadImage") + "//";
string flage = WebUtility.UploadFileBySinge(file, strImagePath);
string msg = "";
string error = "";
if (!string.IsNullOrEmpty(flage))
msg = "上传成功";
else
error = "上传失败";
string result = "{ error:'" + error + "', msg:'" + msg + "',imgName:'"+flage+"'}";
Response.Write(result);
Response.End();
}
这样就可以了,不需要获得路径,直接使用input file 就行了
------解决方案--------------------实际上我的意思是你不要显示的得到文件名称,这一切可以交给程序去办
你只需要确定页面有这几项就可以了
1:
<form id="Form1" method="post" runat="server" enctype="multipart/form-data">
2:
<asp:FileUpload> or <input type="file">
3: js:
ajax:为post提交。
url:UploadImage.aspx
4.在提交到的网页UploadImage.aspx 的后台UploadImage.aspx.cs获得提交到的文件
HttpPostedFile file = Request.Files[0];
然后上传。
这些我在ff3.0测试过。
------解决方案--------------------确实如此,该死的FF3.