zoukankan      html  css  js  c++  java
  • .net ftp上传文件方法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Configuration;

    namespace DlnOffice.general.netdisk
    {
    public partial class fileupload2 : System.Web.UI.Page
    {

    //这三个常量是从webconfig获取
    private string ftpServerIP = ConfigurationManager.AppSettings["ftpServerIP"];
    private string ftpUserID = ConfigurationManager.AppSettings["ftpUserID"];
    private string ftpPassword = ConfigurationManager.AppSettings["ftpPassword"];
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
    up_FTP(FileUpload1);
    //up_FTP(FileUpload2);
    Response.Write("<script>alert('完成');window.location.href ='fileupload2.aspx'</script>");

    //else
    //{
    // Response.Write("<script>alert('未选择文件');</script>");
    // return;
    //}
    }

    public void up_FTP(FileUpload fu)
    {
    string AppPath = (base.Request.QueryString["parent_folder"] != null) ? base.Request.QueryString["parent_folder"].ToString() : "/信息科/常用软件";
    if (string.IsNullOrEmpty(AppPath))
    {
    base.Response.Redirect("index.aspx");
    return;
    }
    //文件上传地址根目录,这里通过IIS架设本地主机为FTP服务器
    //string FileSaveUri = @"ftp://127.0.0.1/";
    string FileSaveUri = @"ftp://" + ftpServerIP + AppPath + "/";
    //FTP用户名密码,就是本机的用户名密码
    string ftpUser = ftpUserID;
    string ftpPassWord = ftpPassword;
    Stream requestStream = null;
    Stream fileStream = null;
    FtpWebResponse uploadResponse = null;//创建FtpWebResponse实例uploadResponse
    //Btn_Upload.
    if (fu.HasFile)
    {
    //获取文件长度
    int FileLength = fu.PostedFile.ContentLength;
    //限制上传文件最大不能超过1G
    if (FileLength < 1024 * 1024 * 1024)
    {
    try
    {

    //格式化为URI
    Uri uri = new Uri(FileSaveUri + Path.GetFileName(fu.PostedFile.FileName));
    FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(uri);//创建FtpWebRequest实例uploadRequest
    uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;//将FtpWebRequest属性设置为上传文件
    uploadRequest.Credentials = new NetworkCredential(ftpUser, ftpPassWord);//认证FTP用户名密码
    requestStream = uploadRequest.GetRequestStream();//获得用于上传FTP的流
    byte[] buffer = new byte[FileLength];
    fileStream = fu.PostedFile.InputStream;//截取FileUpload获取的文件流,作为上传FTP的流
    fileStream.Read(buffer, 0, FileLength);
    requestStream.Write(buffer, 0, FileLength);//将buffer写入流
    requestStream.Close();
    uploadResponse = (FtpWebResponse)uploadRequest.GetResponse();//返回FTP服务器响应,上传完成
    //上传成功

    }
    catch (Exception ex)
    {
    //无法上传
    Response.Write("<script>alert('无法上传');</script>");
    return;
    }
    finally
    {
    if (uploadResponse != null)
    uploadResponse.Close();
    if (fileStream != null)
    fileStream.Close();
    if (requestStream != null)
    requestStream.Close();
    }
    }//end if #FileLength#
    else
    {
    //上传文件过大
    Response.Write("<script>alert('上传文件过大,文件不得超过1G');</script>");
    return;
    }
    }//end if #FileUpload.HasFile#
    else
    {
    //未选择文件
    return;
    }
    }
    }
    }

  • 相关阅读:
    树莓派开发实战(第2版)
    Windows 7+Office 2010综合应用培训教程
    Adobe Edge Animate CC
    从零开始学采购:供应商管理与采购过程控制
    iOS项目开发全程实录
    SEO搜索引擎实战详解
    Photoshop移动UI设计完全实例教程
    游戏开发物理学
    psd,
    放到 userdefault,而不是 cache里面,
  • 原文地址:https://www.cnblogs.com/hyyweb/p/5133114.html
Copyright © 2011-2022 走看看