背景:
在IIS里面有一虚拟目录 tempImage,用来存放客户端上传的图片文件。需要的时候按照文件名下载。我用的方法是百度文档里面的,
我调用的代码如下,现在报服务器没有响应的错误,请问是IIS需要设置什么吗??
string URi = "http://10.10.10.21/tempImage/";
WebRequest myWebRequest = WebRequest.Create(URi);
myWebRequest.Timeout = -1;
try
{
WebResponse webResponse = myWebRequest.GetResponse();
Stream webStream = webResponse.GetResponseStream();
webStream.Close();
UploadFile(@"d:\box2.lab", URi,false);
}UploadFile代码如下(百度来的)
public void UploadFile(string fileNamePath, string uriString, bool IsAutoRename)
{
string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower(); string newName = fileName;
Guid gg = Guid.NewGuid();
if (IsAutoRename == true)
{
newName = gg.ToString() + fileName.Substring(fileName.LastIndexOf(".")); }
if (uriString.EndsWith("/") == false)
{ uriString = uriString + "/"; }
uriString = uriString + newName;
WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultCredentials; FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.ReadWrite); BinaryReader br = new BinaryReader(fs); //
byte[] postArray = br.ReadBytes((int)fs.Length);
Stream postStream = client.OpenWrite(uriString, "PUT"); try
{
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
postStream.Close();
fs.Dispose();
MessageBox.Show("上传成功");
}
else
{
postStream.Close();
fs.Dispose();
MessageBox.Show("上传失败");
}
}
catch (Exception ex)
{
postStream.Close();
fs.Dispose();
MessageBox.Show("上传文件异常" + ex.Message); throw ex;
}
finally
{
postStream.Close();
fs.Dispose();
}
}
在IIS里面有一虚拟目录 tempImage,用来存放客户端上传的图片文件。需要的时候按照文件名下载。我用的方法是百度文档里面的,
我调用的代码如下,现在报服务器没有响应的错误,请问是IIS需要设置什么吗??
string URi = "http://10.10.10.21/tempImage/";
WebRequest myWebRequest = WebRequest.Create(URi);
myWebRequest.Timeout = -1;
try
{
WebResponse webResponse = myWebRequest.GetResponse();
Stream webStream = webResponse.GetResponseStream();
webStream.Close();
UploadFile(@"d:\box2.lab", URi,false);
}UploadFile代码如下(百度来的)
public void UploadFile(string fileNamePath, string uriString, bool IsAutoRename)
{
string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower(); string newName = fileName;
Guid gg = Guid.NewGuid();
if (IsAutoRename == true)
{
newName = gg.ToString() + fileName.Substring(fileName.LastIndexOf(".")); }
if (uriString.EndsWith("/") == false)
{ uriString = uriString + "/"; }
uriString = uriString + newName;
WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultCredentials; FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.ReadWrite); BinaryReader br = new BinaryReader(fs); //
byte[] postArray = br.ReadBytes((int)fs.Length);
Stream postStream = client.OpenWrite(uriString, "PUT"); try
{
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
postStream.Close();
fs.Dispose();
MessageBox.Show("上传成功");
}
else
{
postStream.Close();
fs.Dispose();
MessageBox.Show("上传失败");
}
}
catch (Exception ex)
{
postStream.Close();
fs.Dispose();
MessageBox.Show("上传文件异常" + ex.Message); throw ex;
}
finally
{
postStream.Close();
fs.Dispose();
}
}
http://www.cnblogs.com/daban/archive/2012/12/03/2800035.html
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.fileupload(v=vs.85).aspx
http://blog.csdn.net/sbayje/article/details/8177830
希望能帮助到你 ( ・ิω・ิ)
上传的文件一定不要在 IIS 中可直接访问。