C#的winForm程序中,如何点击添加按钮实现图片上传到服务器文件夹内,求方法、求代码

大哥大姐们帮我教下,C#的winForm程序中,如何点击添加按钮实现图片上传到服务器文件夹内,求方法、求代码
最新回答
七年觐汐

2024-07-03 01:21:17

那只能考虑把文件解析为二进制文件,保存到服务器。如此还要考虑文件大小的分包问题。
薄荷凉我心

2024-07-03 03:05:27

第一步:获取文件的大小并上传的服务器。然后服务器创建一个一样大小的byte数组
第二步:使用FileStream按字节读取图片文件。
第三步:send上一步读取的字节。
对于大文件可以使用循环每次读取固定字节。如果一次性读完内存扛不住。
基本步骤就这些。不要抄源码了,那样你学不到东西的。
超能吃算不算超本事

2024-07-03 03:39:59

拿到本地的路径就可以了,有个ftp的例子
FtpWebRequest reqFTP;
try
{
FileInfo fileInfo = new FileInfo(图片路径);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(服务器路径+ fileInfo.Name));
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
reqFTP.Credentials = new NetworkCredential(ftp账号, ftp密码);
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary = true;
reqFTP.ContentLength = fileInfo.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
FileStream fs = fileInfo.OpenRead();
Stream strm = reqFTP.GetRequestStream();
contentLen = fs.Read(buff, 0, buffLength);
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);

contentLen = fs.Read(buff, 0, buffLength);
}
strm.Close();
fs.Close();

}
catch (Exception ex)
{
}
追问
这样是不是要求,本地要有FTP软件啊??怎么在VS中加载不到头文件啊???
追答
不需要啊,你服务器上ftp开通了就可以了,你不是cs架构的么?怎么会有头文件?
完ㄨ美罗幕

2024-07-03 00:45:12

参悟一下吧 说是说不清楚的 有问题追问我吧 哥很忙的.
protected void UploadFiles(object sender, EventArgs e)
{
if (HttpContext.Current.Request.Files.Count > 0)
{
//System.Web.HttpPostedFile Provides access to individual files that have been uploaded by a client.
HttpPostedFile postedFile = HttpContext.Current.Request.Files[0];//获得用户提交的文件
string savePath;
savePath = abpath + "\\NurImg\\";//保存文件的目录,要事先添加,不会自己添加
string extname = Path.GetExtension(postedFile.FileName);
string pilename = DateTime.Now.ToString("yyyyMMddhhmmss");
savePath += pilename + extname;
if (File.Exists(savePath))
{
File.Delete(savePath);//如果文件已经存在就将已存在的文件删除
}
postedFile.SaveAs(savePath);//将用户提交的文件postedFile保存为savePath
siteimg.ImageUrl = iispath + "NurImg/" + pilename + extname;
}

}