在。net中怎么跨服务器上传文件,网上搜了些方法,都不能链接成功,还有通过webservice实现的,不知道是不是我什么步骤没注意到,反正就是没实现,我是在局域网中,同时也是域环境,希望各位牛人指点指点。我所有的分数就42分了
解决方案 »
- 如何修改未活动状态用户的profile
- 关于MVC3 Razor 的问题
- Jqgrid翻頁的問題
- 转化问题~求解
- 在同一页面如何获取id值
- 谁知道哪里有NBearLite.dll和NBearLite.AdditionalDbProviders.dll下载?
- ···············指定框架刷新问题··················
- 如何在window.open打开的子窗口中赋值给父窗口的文件框?
- 在IE 5.0(NT中)上无法正常操作HTMLSELECT框??下午5:00以前结贴!!
- 请教高手索引的SQL解决方案
- vs2010 所有代码会自动换行 并加点 怎么解决???
- 各位老师请帮我解释一下大概思路!
ImagesUploadSrv srv = new ImagesUploadSrv();
srv.Url = " ";//B服务地址
HttpFileCollection files = Request.Files;
byte[] b = new byte[files[0].ContentLength];
System.IO.Stream fs = (System.IO.Stream)files[0].InputStream;
fs.Read(b, 0, files[0].ContentLength);
str = srv.ImagesUpload(b, extension);
fs.Close();
B:数据接收Web服务,接收byte[]数据。
[WebMethod]
public string ImagesUpload(byte[] fs, string extension)
{
using (MemoryStream m = new MemoryStream(fs))
using (FileStream f = new FileStream(file, FileMode.Create))
{
m.WriteTo(f);
m.Close();
f.Close();
m.Dispose();
f.Dispose();
}
}
[WebMethod(Description = "检验文件是否存在,并上传文件到指定路径 返回值(-2文件已存在,-1写文件异常,1上传成功)")]
public int NotExistsUploadFile(byte[] fs, string fileName, string parRoot)
{
int result = 0;
if (parRoot != "")//有路劲
{
string _path = Server.MapPath(parRoot); //检验文件夹是否存在
if (!Directory.Exists(_path))
{
//创建文件夹,并上传该文件 Directory.CreateDirectory(_path); string strFile = _path + "\\" + fileName; try
{
System.IO.MemoryStream m = new System.IO.MemoryStream(fs); System.IO.FileStream fl = new System.IO.FileStream(strFile, System.IO.FileMode.OpenOrCreate); m.WriteTo(fl);
m.Close();
fl.Close();
m = null;
fl = null;
result = 1;//写文件成功
}
catch
{
result = -1;//写文件 异常
}
}
else
{
//查询该文件名 是否已经存在了
string strFile = _path + "\\" + fileName;
if (!File.Exists(strFile))
{
try
{
System.IO.MemoryStream m = new System.IO.MemoryStream(fs); System.IO.FileStream fl = new System.IO.FileStream(strFile, System.IO.FileMode.OpenOrCreate); m.WriteTo(fl);
m.Close();
fl.Close();
m = null;
fl = null;
result = 1;//写文件成功
}
catch
{
result = -1;//写文件 异常
}
}
else
{
result = -2;//文件已经存在了 } }
}
return result;
}2.利用.net自带工具 获取客户端代理类
如 2.WSDL http://192.168.0.37/WebServiceUploadFile .asmx /n:WebSer/out:WebServiceUploadFile .cs3.把代理类复制到 项目下
利用代理上传
/**/
////获得上传文件名称
//FileInfo file = new FileInfo(fileUpload.PostedFile.FileName); //将上传文件转换为二进制流
byte[] fileContent = fileUpload.FileBytes;
//获得上传文件名称
string fileName = fileUpload.FileName;
//实例化webservice
WebServiceUploadFile adTemp = new WebServiceUploadFile() ; int result = adTemp.NotExistsUploadFile(fileContent, fileName, "server"); Response.Write(result);