上传视频到FTP服务器+播放

本文档介绍了如何将视频上传到FTP服务器并实现播放。首先讲述了建立FTP服务器的步骤和遇到的问题,包括配置匿名访问和权限设置。接着,提到了使用commons-net-3.5.jar库进行FTP操作的代码示例,包括上传、下载和删除功能。文章还讨论了从服务器下载到客户端的实现。最后,展示了如何通过匿名FTP端口播放视频,并提及了后续需求,即同时支持TOMCAT和FTP服务器的视频管理。
摘要由CSDN通过智能技术生成

上传视频到FTP服务器,是针对上个需求(上传视频到tomcat下并播放)完善的,毕竟上传到tomcat目录下的话,放几个视频文件磁盘就满了,所以存到另外的服务器是必然的。

由于video.js里播放视频的标签不支持绝对路径(如D:/这样的),只能存放在tomcat下面的相对路径,所以跳过了存放其他磁盘的步骤,直接开始试验FTP服务器了。

首先呢,当然是建立FTP服务器,要开两个端口号去建立两个FTP,

一个用来上传(需要用户名密码登录,设置写入权限、读取权限),一个用来播放(可以匿名访问,设置读取权限)

建立这个过程真是一把辛酸泪啊,,

先是碰到文件夹可以打开但浏览器打不开(在浏览器Internet选项-高级里面找到“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”,默认是勾选的,把勾去掉就好了),

浏览器打不开的话呢,video标签就不能播放。。后来发现在家里这么建立FTP是好用的,但是在公司还是不行,

折腾很久之后想起来公司上网是要设置代理服务器的,这就导致了和FTP冲突?目前也没明白原因,不过既然不影响我干活了,就略过了。

===============================================================================================================

FTP服务器建立好了之后,下载一个commons-net-3.5.jar的包,网址http://commons.apache.org/proper/commons-net/download_net.cgi

然后把jar包拷进项目后,就可以进行开发啦。。。。(内心:终于到这一步了)

代码如下(上传、下载、删除):

FavFTPUtil.Java

 package com.favccxx.favsoft.util;

 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;

 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.commons.net.ftp.FTPFile;
 import org.apache.commons.net.ftp.FTPReply;

 public class FavFTPUtil {
   

      /**
      * 上传文件(可供Action/Controller层使用)
      * @param hostname FTP服务器地址
      * @param port FTP服务器端口号
      * @param username FTP登录帐号
      * @param password FTP登录密码
      * @param pathname FTP服务器保存目录
      * @param fileName 上传到FTP服务器后的文件名称
      * @param inputStream 输入文件流
      * @return
      */
      public static boolean uploadFile(String hostname, int port, String username, String password, String pathname, String fileName, InputStream inputStream){
          boolean flag = false;
          FTPClient ftpClient = new FTPClient();
          ftpClient.setControlEncoding("UTF-8");
          try {
              //连接FTP服务器
              ftpClient.connect(hostname, port);
              //登录FTP服务器
              ftpClient.login(username, password);
              //是否成功登录FTP服务器
              int replyCode = ftpClient.getReplyCode();
              if(!FTPReply.isPositiveCompletion(replyCode)){
                 return flag;
              }

              ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
              ftpClient.makeDirectory(pathname);
           
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值