zoukankan      html  css  js  c++  java
  • ftp服务器PDF文件在线查看

    曾做过电厂的项目,有一些功能需要和甲方的厂家对接,其中就有需要实现甲方ftp服务器上的PDF、JPG等文件的查看功能。就PDF文件为例,这里使用的是pdf插件,需要将参数通过链接发给ftp,获取到PDF文件,并在后端处理成文件流,以便文件的读取。

    关于PDF.js插件的学习介绍:http://mozilla.github.io/pdf.js/

    URL格式:

    http://localhost:2692/PDFVIEWER/web/viewer.html?file=http://localhost:2692/TOV/DASystem/GetStreaem?path%3Dftp://ftp账号:ftp密码@IP地址/0001/E_File3/2017526/test.PDF

    注意:PDFVIEWER/web/viewer.html是一个PDF插件地址链接

    这里的参数path后面不能直接跟“=”,因为在这里会不识别,所以我们在这里使用“=”的转移符"%3D"来代替等号。

    后台方法:将ftp服务器上的PDF文件转成二进制流进行读取

    using System.Net;
    
    public FileStreamResult GetStreaem(string path)
    {
    var reqFtp = (FtpWebRequest)WebRequest.Create(new Uri(path));
    reqFtp.Method = WebRequestMethods.Ftp.DownloadFile;
    reqFtp.UseBinary = true;
    //reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
    reqFtp.UsePassive = false; //选择主动还是被动模式 , 这句要加上的。
    reqFtp.KeepAlive = false;//一定要设置此属性,否则一次性下载多个文件的时候,会出现异常。
    var response = (FtpWebResponse)reqFtp.GetResponse();
    var ftpStream = response.GetResponseStream();
    return File(ftpStream, "application/pdf", "ib70guide.pdf");//ib70guide.pdf是临时文件,以便文件在线查看
    }

    最后返回是文件格式, "application/pdf"这个表示PDF格式的文件。

    如果对你有帮助,给个推荐吧。

  • 相关阅读:
    [转载]Centos7.x下环境搭建(一)--yum方式安装mysql5.7
    树上分治
    [SPOJ2666]QTREE4
    [SPOJ375]QTREE
    [SPOJ1825]FTOUR2
    [POJ1741]Tree
    [LG-P5350]序列
    [COCI 2014/2015 #3]KAMIONI
    [SHOI2014]神奇化合物
    [GXOI/GZOI2019]旧词
  • 原文地址:https://www.cnblogs.com/MirZhai/p/7872501.html
Copyright © 2011-2022 走看看