FireFox 上传文件

闲游四疯 2008-07-04 02:12:20
火狐下上传文件获取到的值只有文件名没有路径,IE正常。
怎么解决?在火狐中怎么获取上传文件的路径??
...全文
1800 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ly_vvx 2012-05-02
  • 打赏
  • 举报
回复
1楼的精辟,非常感谢
Chris_thanks 2009-05-26
  • 打赏
  • 举报
回复
楼主解决了吗? 能提供下解决办法吗? 我发信息给你了
cenjian747 2009-05-10
  • 打赏
  • 举报
回复
我今天也是遇到这个问题,IE正常FF3无效,希望高手来解
shaojuntao 2009-05-08
  • 打赏
  • 举报
回复
我今天也遇到了这个问题啊,在服务器处理页面(PHP)
$filepath=$_FILES["userfile"]["tmp_name"];
也是无法获取路径,请高手帮忙如何解决~
tigerhu76 2008-08-01
  • 打赏
  • 举报
回复
如果需要获得那个路径怎么办呢?
闲游四疯 2008-07-05
  • 打赏
  • 举报
回复
HttpPostedFile file = Request.Files[0];
不行。会提示未将对象设置引用到对象实例。
我是ajax后台去处理,并未提交页面.
闲游四疯 2008-07-04
  • 打赏
  • 举报
回复
今天下班了。明天试。thanks you~
wszhoho 2008-07-04
  • 打赏
  • 举报
回复
确实如此,该死的FF3.
woyaojuzi 2008-07-04
  • 打赏
  • 举报
回复
实际上我的意思是你不要显示的得到文件名称,这一切可以交给程序去办

你只需要确定页面有这几项就可以了

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测试过。
闲游四疯 2008-07-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lixueming3000 的回复:]
这个上传你怎么也得提交form才行的吧,要是提交form的话,不用得到那个路径就可以的
要是不提交的话,我想只给个路径是不能上传的吧,个人理解,不对的地方请指出。。。
ie能得到那个路径,按理说具有一定的不安全性的
[/Quote]
是的。只需要一个路径就可以了。

FileInfo fi = new FileInfo(PicPath);
string PicName = DateTime.Now.ToString("yyyyMMddhhmmss") + type;
Bitmap objBitmap = new Bitmap(PicPath);
string PathPicNew = "~/images/" + PicName;
objBitmap.Save(HttpContext.Current.Server.MapPath(PathPicNew));
objBitmap.Dispose();

这样就可以保存图片了。所以关键是要把路径传到后台来。以前火狐好像也可以,但我现在用FF3.0了,AJAX传过来的只有文件名,没有路径,所以保存不了
4楼的我没怎么看懂,等更好的答案
woyaojuzi 2008-07-04
  • 打赏
  • 举报
回复
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 就行了
lixueming3000 2008-07-04
  • 打赏
  • 举报
回复
这个上传你怎么也得提交form才行的吧,要是提交form的话,不用得到那个路径就可以的
要是不提交的话,我想只给个路径是不能上传的吧,个人理解,不对的地方请指出。。。
ie能得到那个路径,按理说具有一定的不安全性的
闲游四疯 2008-07-04
  • 打赏
  • 举报
回复
谢谢楼上回答。不过不符合我的要求
..我是前台JS要获取取文件名跟文件路径传给后台。。打算用ajax预处理。。你这已经提交了。。
火狐下JS是不是不可以获取到路径?
lilei9633 2008-07-04
  • 打赏
  • 举报
回复
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也很好使

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧