zoukankan      html  css  js  c++  java
  • 资源上传,上传到文件服务器上

    上传控件:<input id="fileupload" name="fileupload" type="file"/>

    1.将上传的文件,上传到本地路径下:HttpFileCollection file=Request.File["fileupload"];将这个file文件保存到本地上,再从本地将这个文件上传到文件服务器。

    得到文件名:var filename=Path.GetFileName(file.filename);

    得到文件类型:var fileextention=Path.GetExtention(file);

    上传到服务器的路径:file.SaveAs(Server.MapPath('~/UpLoadFiles/')+filename)

    2.可以到网上找下FTPCLASS,里面有许多方法里面实现了上传、下载 等操作。

    FTPClass fileClass = new FTPClass(new Uri(ConfigurationManager.AppSettings["FTPAddress"].ToString()), ConfigurationManager.AppSettings["FTPUser"].ToString(), ConfigurationManager.AppSettings["FTPPwd"].ToString());
    //上传本地临时文件
    if (!fileClass.FileExist(f.LJ))
    {
    fileClass.UploadFile(filepath); ;
    }
    if (File.Exists(filepath))
    {
    File.Delete(filepath);
    }

    /// <summary>
    /// 上传文件到FTP服务器
    /// </summary>
    /// <param name="LocalFullPath">本地带有完整路径的文件名</param>
    /// <param name="RemoteFileName">要在FTP服务器上面保存文件名</param>
    /// <param name="OverWriteRemoteFile">是否覆盖远程服务器上面同名的文件</param>
    public bool UploadFile(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)
    {
    try
    {
    if (!IsValidFileChars(RemoteFileName) || !IsValidFileChars(Path.GetFileName(LocalFullPath)) || !IsValidPathChars(Path.GetDirectoryName(LocalFullPath)))
    {
    throw new Exception("非法文件名或目录名!");
    }
    if (File.Exists(LocalFullPath))
    {
    FileStream Stream = new FileStream(LocalFullPath, FileMode.Open, FileAccess.Read);
    byte[] bt = new byte[Stream.Length];
    Stream.Read(bt, 0, (Int32)Stream.Length); //注意,因为Int32的最大限制,最大上传文件只能是大约2G多一点
    Stream.Close();
    return UploadFile(bt, RemoteFileName, OverWriteRemoteFile);
    }
    else
    {
    throw new Exception("本地文件不存在!");
    }
    }
    catch (Exception ep)
    {
    ErrorMsg = ep.ToString();
    throw ep;
    }
    }

          

  • 相关阅读:
    分布式事务与Seate框架(3)——Seata的AT模式实现原理
    MySQL是如何实现事务隔离?
    分布式事务与Seate框架(2)——Seata实践
    分布式事务与Seate框架(1)——分布式事务理论
    docker的安装以及使用命令
    Sentinel高级
    Sentinel熔断降级
    typora+PicGo+gitee搭建免费的的床
    Jmeter + Grafana + InfluxDB 性能测试监控
    Jmeter-逻辑控制器ForEach Controller的实例运用
  • 原文地址:https://www.cnblogs.com/zhuzhu861618/p/3259489.html
Copyright © 2011-2022 走看看