您的位置:首页 > 编程语言 > ASP

asp.net C#如何上传指定路径的图片,不用FileUpload控件[转]

2012-08-21 16:07 801 查看
using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

/// <summary>

/// MyUpload 的摘要说明

/// </summary>

public class MyUpload

{

private System.Web.HttpPostedFile postedFile = null;

private string savePath = "";

private string[] extension;

private int fileLength = 0;

public string[] filestype ={ "txt", "doc", "gif" };

public MyUpload()

{

//

// TODO: 在此处添加构造函数逻辑

//

}

public string Help

{

get

{

string helpstring;

helpstring = " <font size=3>MyUpload myUpload=new MyUpload(); //构造函数";

helpstring += "myUpload.PostedFile=file1.PostedFile;//设置要上传的文件";

helpstring += "myUpload.SavePath=\"e:\\\";//设置要上传到服务器的路径,默认c:\\";

helpstring += "myUpload.FileLength=100; //设置上传文件的最大长度,单位k,默认1k";

helpstring += "myUpload.Extension=\"doc\";设置上传文件的扩展名,默认txt";

helpstring += "label1.Text=myUpload.Upload();//开始上传,并显示上传结果";

helpstring += " <font size=3 color=red>";

return helpstring;

}

}

public System.Web.HttpPostedFile PostedFile

{

get

{

return postedFile;

}

set

{

postedFile = value;

}

}

public string SavePath

{

get

{

if (savePath != "") return savePath;

return "c:\\";

}

set

{

savePath = HttpContext.Current.Server.MapPath("../upimages/") + value;/////////////////////注意这里选取上传文件路径,可以修改成传递参数类型的

}

}

public int FileLength

{

get

{

if (fileLength != 0) return fileLength;

return 1024;

}

set

{

fileLength = value * 1024;

}

}

public string[] Extension

{

get

{

if (extension != null) return extension;

return filestype;

}

set

{

extension = value;

}

}

public string PathToName(string path)

{

int pos = path.LastIndexOf("\\");

return path.Substring(pos + 1);

}

public string Upload()

{

int biaoshi = 0;

if (PostedFile.FileName != "")

{

try

{

string fileName = PathToName(PostedFile.FileName);

for (int i = 0; i < Extension.Length; i++)

{

if (fileName.EndsWith(Extension[i]))

{

biaoshi = 1;

}

}

if (biaoshi != 1)

{

string errs = "";

for (int i = 0; i < Extension.Length; i++)

{

errs = errs + Extension[i] + "/";

}

return "您必须选择" + errs + "类型的文件!";

}

if (PostedFile.ContentLength > FileLength) return "文件太大,超过了限定值!";

PostedFile.SaveAs(SavePath + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + fileName.Substring(fileName.Length
- 4, 4));

return DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + fileName.Substring(fileName.Length - 4, 4);

}

catch (System.Exception exc) { return exc.Message; }

}

return "请选择文件后再进行上传!";

}

}

////////////////////使用例子,直接复制没有修改/////////////////////

string[] filestype ={ "gif", "jpg", "png" };

MyUpload myload = new MyUpload();

myload.PostedFile = File1.PostedFile;

myload.SavePath = "";

myload.FileLength = 1000;

myload.Extension = filestype;

Label1.Text = myload.Upload();

if (Label1.Text.StartsWith("200"))

{

Label2.Text = "upimages/" + Label1.Text;

Label1.Text = "上传更新成功!";

}
通过Ftp上传文件

public static void UploadToFtp(string fileName )

{

FileInfo fileInf = new FileInfo(fileName);

FtpWebRequest reqFTP;

reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp address" + "/" + fileName));

reqFTP.Credentials = new NetworkCredential("user", "password");

reqFTP.KeepAlive = false;

reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

reqFTP.UseBinary = true;

reqFTP.ContentLength = fileInf.Length;

int buffLength = 2048;

byte[] buff = new byte[buffLength];

int contentLen;

FileStream fs = fileInf.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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: