繁体   English   中英

尝试使用C#通过FTP上传文件时出错

[英]Error trying to upload file via FTP with C #

我将要保存在特定路径中的模型和文件发送到我的方法,但是出现以下错误:

找不到文件'C:\\ img \\ iis2.png':C \\\\ Program Files(x86)\\ img \\ iis2.png

我已经尝试了一些在网上找到的示例,但是到目前为止,对我来说没有任何帮助

string path= @"..\img\";

码:

public ActionResult Guardar_registro(Models.CascadingModelLevantamiento model, HttpPostedFileBase file)
    {
        try
        {
        FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpURI + "/" +
                                Path.GetFileName(fileName));
                    WebRequest ftpRequest = WebRequest.Create(ftpURI);
                    ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
                    ftpRequest.Credentials = new NetworkCredential("xxx@xxxx", "xxxx*");
                    FileInfo fileInfo = new FileInfo(path + fileName);
                    FileStream fileStream = fileInfo.OpenRead();
                    int bufferLength = 2048;
                    byte[] buffer = new byte[bufferLength];
                    Stream uploadStream = request.GetRequestStream();
                    int contentLength = fileStream.Read(buffer, 0, bufferLength);
                    while (contentLength != 0)
                    {
                        uploadStream.Write(buffer, 0, contentLength);
                        contentLength = fileStream.Read(buffer, 0, bufferLength);
                    }
                    uploadStream.Close();
                    fileStream.Close();
                    request = null;
    }
        catch (Exception e)
        {
            ViewBag.Message = "Hubo un error";
            return View("../Levantamiento/Levantamiento");
        }

}

我对此有些陌生,但如果有人可以支持我解决错误,

我太新了,无法发表评论,要求澄清实际上设置了fileName但错误指出了发生了什么-该文件在查找任务的位置不存在。

假设文件确实存在于您想要的位置-您可能正在System.IO.Path中寻找内容

using System.IO;添加using System.IO; 在类文件的顶部即可使用其中任何一个。

如果它位于可执行文件位置的子文件夹中,则需要类似以下Path.Combine(Directory.GetCurrentDirectory(), "img", fileName);文件: Path.Combine(Directory.GetCurrentDirectory(), "img", fileName);

如果它位于C:\\img\\iis2.png类的特定文件夹中,则需要Path.Combine("C:\\img", "iis2.png");

Path.Combine页面上有一些示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM