100分,求不用上传图片方法

zhangning8191 2009-07-31 09:27:50
如题求一个不用<input type="file"/>上传图片方法,我试过各种各样的方法,有的能上传但图片不显示,有的根本上传不了。请大家帮忙。
比如

string newFile = baseLocation + newname + filesUploaded + strType; //上传的文件路径和文件名
例:newFile = E:\\pic\\200907301212323.jpg

StreamWriter FSO;
//查看文件是否存在

if (File.Exists(newFile))
{
FSO = File.AppendText(newFile);
}
else
{
FSO = File.CreateText(newFile);
}
上面这个上传结果是有图片存在,但是图片没有任何内容,也就是一张空图片。

请大家帮帮忙给解决一下,或者个写个不用<input type="file"/>上传图片的例子。调试成功马上送分!
...全文
1148 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdut_akaliusi202 2009-12-17
  • 打赏
  • 举报
回复
最近我也碰到类似的问题。上游模块解析文件获得的路径<input type="file"/>的value又不能动态设定。网上的上传大多是基于这个<input type="file"/>的。组件都是配合这个使用的。困扰了2个礼拜了。没找到合适的办法。关注楼主个。若果您的问题已经解决,请您教教我。
QQ 315780342
MSN qincao315@live.cn
我和你拼了 2009-12-14
  • 打赏
  • 举报
回复
我最近也被这个问题困绕!不过和楼主不一样,我是在VBS里想实现xmlhttp实现,如果是ie的话,不用控件,真不知道怎么办?
zhangning8191 2009-07-31
  • 打赏
  • 举报
回复
嗯,对的,本地的可以,服务器就不成了!
这是个根本性的问题!
hsabout 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 zhangning8191 的回复:]
有没有什么方法通过这个路径,找到图片。
string str = "C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\示例图片\\79.jpg";
找到图片之后,将它复制给我上面已经创建好的文件呢?
[/Quote]

服務端是找不到這個本地文件的
  • 打赏
  • 举报
回复
byte[] bs = null;
using (FileStream fs = new FileStream(老文件名,FileMode.Open)){
bs = new byte[fs.Length];
fs.Read(bs, 0, bs.Length);
}

using (FileStream fst = new FileStream(要覆盖的文件名,FileMode.Create)){
fst.Write(bs, 0, bs.Length);
}
梦灬魇 2009-07-31
  • 打赏
  • 举报
回复
楼主有控件不用 非要手动写代码上传吗?
zhangning8191 2009-07-31
  • 打赏
  • 举报
回复
color=#FF0000]怎么读到字节里?[[/color]
  • 打赏
  • 举报
回复
先读到字节数组里,再用fileStream = new FileStream(文件名,FileMode.Create);fileStream.Write(字节数组,0, 字节数组.Length)的方法覆盖已经创建好的文件
zhangning8191 2009-07-31
  • 打赏
  • 举报
回复
有没有什么方法通过这个路径,找到图片。
string str = "C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\示例图片\\79.jpg";
找到图片之后,将它复制给我上面已经创建好的文件呢?
随风落梦 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 jasondct 的回复:]
去www.51aspx.com
zhaoa 找这个 仿163网盘无刷新文件上传系统.rar 源码。说的很好
[/Quote]
这个无刷新上传的确不错的!
hsabout 2009-07-31
  • 打赏
  • 举报
回复
string str = "C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\示例图片\\79.jpg";

在cs代碼里,這個是服務器的地址

基于安全性,不用fileupload應該是不行的,或者找其他控件吧
zhangning8191 2009-07-31
  • 打赏
  • 举报
回复
StreamWriter FSO;
//查看文件是否存在

if (File.Exists(newFile))
{
FSO = File.AppendText(newFile);
}
else
{
FSO = File.CreateText(newFile);
}
是创建了文件并且文件内容是空

string newFile = baseLocation + newname + filesUploaded + strType; //上传的文件路径和文件名
例:newFile = E:\\pic\\200907301212323.jpg
上面这个是将这个文件放置的位置和文件名

string str = "C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\示例图片\\79.jpg";
这个是原文件的位置

现在的问题是怎么把原文件的内容复制到现在我所创建好的文件中去!!!!

hsabout 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sammy_luo 的回复:]
有上传控件你为什么不用,
你想要用户直接输入一个文件路径,你想根据这个路径通过IO的方式去保存到服务器是吗
[/Quote]

別人都說不用Fileupload
你還非得貼這么多代碼,把他說服為止....
hsabout 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhangning8191 的回复:]
string newFile = baseLocation + newname + filesUploaded + strType; //上传的文件路径和文件名
例:newFile = E:\\pic\\200907301212323.jpg

                        StreamWriter FSO;
                        //查看文件是否存在

                        if (File.Exists(newFile))
                        {
                            FSO = File.AppendText(newFile);
                        }
                        else
                        {
                            FSO = File.CreateText(newFile);                        }

[/Quote]

是你自己創建了文件,并不是上傳成功打不開.
chen_ya_ping 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 zhangning8191 的回复:]
图片可以转换成二进制数据进行传输和保存
这个说的好
如下
string newFile = baseLocation + newname + filesUploaded + strType; //上传的文件路径和文件名
例:newFile = E:\\pic\\200907301212323.jpg

                        StreamWriter FSO;
                        //查看文件是否存在

                        if (File.Exists(newFile))
                        {
                            FSO = File.AppendText(newFile);
                        }
                        else
                        {
                            FSO = File.CreateText(newFile);
                        }
上面这个上传结果是有图片存在,但是图片没有任何内容,也就是一张空图片。

情况上述所说,没有解决办法!


[/Quote]
你的这段代码全是在服务器端得E盘操作的不是本地客户端的。
kingmax54212008 2009-07-31
  • 打赏
  • 举报
回复
可以用socket上传
  • 打赏
  • 举报
回复
如果是B/S程序,要访问本地的文件,除了<input type="file">之外,只能使用ActiveX如Scripting.FileSystemObject, ADODB.Stream这样的东东,但用这样的ActiveX就必须修改浏览器的安全性设置。楼主自己看着办吧。
walkghost 2009-07-31
  • 打赏
  • 举报
回复
swfupload
NeatUpload
下载下来都有asp.net的demo。而且网上也有很多资料的。
wuyq11 2009-07-31
  • 打赏
  • 举报
回复
cpp2017 2009-07-31
  • 打赏
  • 举报
回复
明明是个图片文件,为何要AppendText???

file.PostedFile.SaveAs就可.
加载更多回复(28)

62,046

社区成员

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

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

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

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