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格式的文件。

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

  • 相关阅读:
    581. 最短无序连续子数组
    217. 存在重复元素
    189. 旋转数组
    169. 多数元素
    122. 买卖股票的最佳时机 II
    119. 杨辉三角 II
    118. 杨辉三角
    外显子分析思路总结(Exome Sequencing Analysis review)
    宁夏采样记20181129
    haploview出现“results file must contain a snp column”的解决方法
  • 原文地址:https://www.cnblogs.com/MirZhai/p/7872501.html
Copyright © 2011-2022 走看看