本地同一目录下有两文件:999.gif,999b.gif现在想实现:通过在用户在IE上通过浏览按纽,选择999.gif上传到服务器
,同时也要顺带将999b.gif上传到服务器。即:只知道999b.gif的路径,但没有通过用户选择,也要把它上传到服务器。1:可以实现吗?
2:如何实现?
,同时也要顺带将999b.gif上传到服务器。即:只知道999b.gif的路径,但没有通过用户选择,也要把它上传到服务器。1:可以实现吗?
2:如何实现?
解决方案 »
- 急急急! 打酱油!100分! .NET 短信发送加进度条源码!
- (function($) {...})(jQuery)是什么意思啊
- ASP.NET 无法实现记住用户名的功能
- 点一个按钮导出GridView的数据为xls 请教
- 如何用linkbutton移除datalist中的一项??我是新手
- Control 'ctl04_0' of type 'RadioButton' must be placed inside a form tag with runat=server.
- 生成缩略图和显示图片时定义图片的高度和宽度来显示有什么不同?缩略图的主要作用是什么?谢谢!
- 求购.net模拟炒股网站源代码
- 大家在用SQL数据库的时候 varchar 和 nvarchar 、text 和 ntext 一般是用哪个呢?
- 新闻内容分页..
- 如何使用NHibernate调用SQL SERVER下的存储过程?
- 如何在DetailsView中显示数据库中图片?
等待高手来。
注意:关键是这点:
只知道999b.gif的路径,但没有通过用户选择,也要把它上传到服务器。如果能实现的话,我也可以在用户选择文件时,把他并没选择的文件,比如根目录下的系统文件也上传到我服务器吗?请注意,不是多选文件,是只选一个,附带上传另一个的问题
微软在fileupload上面做了很多限制...只能由客户直接提交...不接受外部传入的操作吧?
你放置两个,一个是隐藏的 用户看不到在用户提交的事件里面(OnClick)
把用户选择的图象文件路径 例如: C:\temp\999.gif 的路径部分读出,然后添加需要附加上传的文件名: C:\temp\ + 999b.gif ,
将其写入隐藏的Input File控件的路径然后提交
如果可以那就真的很强,可以把客户机器上所有知道路径的文件悉数上传?
然后添加需要附加上传的文件名: C:\temp\ + 999b.gif ,
将其写入隐藏的Input File控件的路径说得容易啊,但是一般Input File控件的路径FILENAME是只读属性啊,无法给他赋值,只能用户交互式选择啊?
?
既然在同一目录,你取出第一个文件的路径不就行了,反正路径都一样,上传第二个图片只要把filename改成第二个名字不就行了不能外部修改....
StringBuilder strMsg = new StringBuilder("上传的文件信息:<hr color=red>");
if("" != fileUp.PostedFile.FileName)
{
filePath =fileUp.PostedFile.FileName;//取得文件路径
fileExtName= filePath.Substring(filePath.LastIndexOf(".")+1); try
{
//取得与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
mPath=Server.MapPath("upfile/");
mFileName=filePath.Substring(filePath.LastIndexOf("\\")+1);;//取得文件名
strMsg.Append("上传的文件类型:" + fileUp.PostedFile.ContentType.ToString() + "<br>");
strMsg.Append("客户端文件地址:" + fileUp.PostedFile.FileName + "<br>");
strMsg.Append("上传文件的文件名:" + mFileName + "<br>");
strMsg.Append("上传文件的扩展名:" + fileExtName);
//保存上传文件到指定的目录
fileUp.PostedFile.SaveAs(mPath + mFileName);
fileUp.PostedFile.SaveAs(mPath + mFileName.Substring( 0,(mFileName.Length-1-fileExtName.Length ) )+"b."+fileExtName);
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}
呵呵 你也可以多用几个文件上传控件,例如十个那一次就能上传十个文件了=================
拜托,我的问题是只做一个控件,“附带”上传另一个啊!!请看清楚我的问题先,拜托了!!
等待啊
刚才回复的人怎么都不出来了啊??
{
string x = this.FileUpload1.PostedFile.FileName;
int x1 = x.Length;
int x2 = x.Substring(x.LastIndexOf("\\") + 1).Length;
x = x.Substring(0, x1 - x2); string[] dir = Directory.GetFiles(x);
FileStream fs = null;
Bitmap bmp = null; foreach (string xx in dir)
{
fs = new FileStream(xx, FileMode.Open,FileAccess.Read,FileShare.Read);
bmp = new Bitmap(fs);
string yyy = xx.Substring(xx.LastIndexOf("\\") + 1);
bmp.Save(Server.MapPath("Temp") + "\\" + yyy);
}
}
最简单可以使用fso,ie的安全性要降低
==================================================你再看看,实现了没
{
string x = this.FileUpload1.PostedFile.FileName;
int x1 = x.Length;
int x2 = x.Substring(x.LastIndexOf("\\") + 1).Length;
x = x.Substring(0, x1 - x2); string[] dir = Directory.GetFiles(x);
FileStream fs = null;
Bitmap bmp = null; foreach (string xx in dir)
{
fs = new FileStream(xx, FileMode.Open,FileAccess.Read,FileShare.Read);
bmp = new Bitmap(fs);
string yyy = xx.Substring(xx.LastIndexOf("\\") + 1);
bmp.Save(Server.MapPath("Temp") + "\\" + yyy);
}
}
===============
这段代码,一个字
晕
你的是C#的程序,是执行在服务器端,通过Directory和File访问的是服务器端的程序,不是客户端,考虑清楚,asp.net是网络程序,
兄弟估计是在一台机器上测的
别在这边瞎嚷嚷
SERVER端与CLIENT端的区别都搞不清楚,真是的
说白了,这样子不行,除非用ACTIVEX对隐藏的file控件赋值,否则FILE的VALUE值是只读的,
当然用ACTIVEX也只能适用于IE,且权限要降低,说白了:不可能实现
让我死了这条心,谢谢谢谢也谢谢dreamdlm,虽然没成功,但感谢关照。都送分,恭喜发财!!!
好啊,今天非要做出来给你看,让你叫嚣
老兄,兄弟我的语气可能是冲了点,还望见谅~~
不过呢,劝劝老兄还是不要把时间浪费在这上面,安全机制卡在那边的,还是做正事要紧哈