c#服务器传的文件流,把它下载到本地,不是覆盖,是直接下载到文件夹下头
c#服务器传的文件流,把它下载到本地,不是覆盖,是直接下载到文件夹下面
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create(bnBox.Text);
request1.Credentials = CredentialCache.DefaultCredentials;
request1.MaximumAutomaticRedirections = 4;
//localFileName = Path.GetFileName(localFileName);
using (HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse())
{
Stream receiveStream = response1.GetResponseStream();
//string newPath = Path.Combine(tempFold, localFileName);
using (FileStream fs = new FileStream(@"E:\\新建文件夹", FileMode.Create))
{
Byte[] buffer = new Byte[4096];
int bytesRead = receiveStream.Read(buffer, 0, buffer.Length);
while (bytesRead > 0)
{
fs.Write(buffer, 0, bytesRead);
bytesRead = receiveStream.Read(buffer, 0, buffer.Length);
}
}
receiveStream.Close();
}
我这个,是覆盖了。必须有文件存在,请问有没有直接下载下来。到文件夹下面的办法
------解决方案--------------------
如果你名字一样,肯定就覆盖了,自己起个不一样的文件名
------解决方案--------------------
文件名称后可以追加当前时间,以区分不同。
------解决方案--------------------
下载路径和文件名不要写死,拖个控件,让用户能选路径并修改文件名.
文件名有重复会自动提示是否替换,避免下载时覆盖掉原有的文件.
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create(bnBox.Text);
request1.Credentials = CredentialCache.DefaultCredentials;
request1.MaximumAutomaticRedirections = 4;
//localFileName = Path.GetFileName(localFileName);
using (HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse())
{
Stream receiveStream = response1.GetResponseStream();
//string newPath = Path.Combine(tempFold, localFileName);
using (FileStream fs = new FileStream(@"E:\\新建文件夹", FileMode.Create))
{
Byte[] buffer = new Byte[4096];
int bytesRead = receiveStream.Read(buffer, 0, buffer.Length);
while (bytesRead > 0)
{
fs.Write(buffer, 0, bytesRead);
bytesRead = receiveStream.Read(buffer, 0, buffer.Length);
}
}
receiveStream.Close();
}
我这个,是覆盖了。必须有文件存在,请问有没有直接下载下来。到文件夹下面的办法
------解决方案--------------------
如果你名字一样,肯定就覆盖了,自己起个不一样的文件名
------解决方案--------------------
文件名称后可以追加当前时间,以区分不同。
------解决方案--------------------
下载路径和文件名不要写死,拖个控件,让用户能选路径并修改文件名.
文件名有重复会自动提示是否替换,避免下载时覆盖掉原有的文件.