如何实现论坛中的远程附件功能

背景

网站远程附件功能是指将用户上传的附件直接存储到远端的存储服务器,一般是通过FTP的方式存储到远程的FTP服务器。目前Discuz论坛、phpwind论坛、Wordpress个人网站等都支持远程附件功能。

将附件远程存储到oss后,用户访问附件时将直接从oss下载,一方面可以减少网站的流量,同时附件本身的可用性也将提高。

一、下载并运行OSS FTP

OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。

下载OSS FTP

注意,由于windows不会默认安装Python2.7, 所以安装包中包含了Python2.7, 免去您python安装配置的麻烦,解压即可使用。

由于Linux/Mac系统默认会安装python2.7或python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。

运行OSS FTP

首先解压之前下载的文件,然后根据环境情况选择不同的运行方式

  •  windows: 双击运行start.vbs即可
  •  Linux: 打开终端,运行 bash $ bash start.sh
  •  Mac: 双击start.command,或者在终端运行 bash $ bash start.command

上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。

同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。

二、网站远程附件设置

下面以Wordpress为例,介绍如何将附件通过OSS FTP工具远程存到oss。

准备工作

申请OSS账号,并且创建一个 public-read 的bucket。这里需要权限为public-read是因为后面需要匿名访问。

详细步骤

wordpress本身是不支持远程附件功能的,但是可以通过第三方的插件来做远程附件。作者所用wordpress版本为 4.3.1 , 所用插件为 Hacklog Remote Attachment ,以下为具体设置步骤:

  •  登录wordpress站点,选择安装插件,搜关键词FTP,选择 Hacklog Remote Attachment 安装
  •  设置
      1. FTP服务器地址, 即运行ossftp工具的地址,一般填 127.0.0.1 即可;
      2. FTP服务的端口号,默认为 2048 ;
      3. FTP登录用户名,格式为“ AccessKeyID/BukcetName ”,注意这里的' / '不是' 或 '的意思;
      4. FTP的登录密码,为 AceessKeySecrete ,关于AccessKeyID和AceessKeySecrete的获取,可以登录阿里云控制台的Access Key管理进行查看;
      5. FTP超时时间, 默认设置为30秒即可;
      6. 远程基本URL填 http://BucketName.Endpoint/wp;这里测试所用bucket为test-hz-jh-002, 属于杭州区域的,所以这里填写的是:http://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.com/wp
      7. FTP远程路径, 填wp表示所有附件都会存储在bucket的wp目录下,注意6和7要对应起来;
      8. HTTP远程路径, 填.即可。 

具体信息见下图的配置

验证

设置好之后,点击保存的同时,会做测试,测试结果会在页面上方显示,如下图所示表示测试成功。

发布新文章, 并插入图片

现在开始写一篇新文章,并测试远程附件。创建好文章后,点击添加媒体来上传附件。

上传附件如下图所示:

上传完附件,点击发布,即可看到文章了。

 

右键点击图片,通过新建链接来打开图片即可看到图片的URL如下图所示:

通过图片的URL,我们可以判定图片已经成功上传到了OSS。

 

 

 

时间: 2024-10-30 14:27:11

如何实现论坛中的远程附件功能的相关文章

如何使用Win8系统中的远程桌面功能

  远程桌面在之前的Windows系统中已经存有很长一段时间了,许多用户似乎忽略此功能,有时候电脑出现什么问题,用这个功能还是好方便的.下面在Windows8系统中教大家开启"远程桌面"功能. 操作步骤 选中桌面上的"计算机"右键选择"属性". 弹出"系统"窗口栏选择其左边的"高级系统设置". 打开"系统属性"选择"远程"勾选"允许远程连接此计算机"

通过分析蜘蛛侠论坛中的版块管理功能来介绍该如何使用我开发出来的ROM框架

 http://www.cnblogs.com/netfocus/archive/2010/01/10/1643207.html  上面这个是框架发布页面的地址.   就以论坛版块管理模块作为例子来介绍这个框架吧,包括显示版块列表.新增版块.修改版块.删除版块四个功能: 1. 表设计: SQL代码 1 CREATE TABLE [tb_Sections](2     [EntityId] [int] IDENTITY(1,1) NOT NULL,3     [Subject] [varchar]

Win7系统电脑中的远程桌面功能是否有必要开启?

  观点一:没必要开启   主要是认为若是使用了远程桌面连接,系统的安全性会受到破坏,而且普通用户显然是很少用到远程桌面连接.   观点二:有必要开启   主要是认为如果你是个办公室用户,那么在你出差时,想必你一定会用到远程桌面,因为这对你的办公提供十分大的帮助.   其实开启远程桌面连接,虽然可以随时随地连接到某到指定电脑上,但是也会增加被连接电脑的系统风险.虽然说在Win7系统上,远程桌面的开启方法很简单,不过若是在使用远程数据传输时,数据是否是安全的呢?在一个不加密的网络上传输数据,显然是

远程桌面中的多媒体重定向功能对操作系统和软件有何要求?

  故障现象: 远程桌面中的多媒体重定向功能对操作系统和软件有可要求? 解决方案: 1. 远程桌面中的多媒体重定向功能支持Windows 7企业版和旗舰版,不支持专业版和其他Windows 7版本. 2. 目前仅支持Windows自带的播放器Windows Media Player,使用其他播放器时仍将占用主机资源且播放效果较差.

CSDN论坛左侧个人用户中的社区消息功能是怎么实现的?重要的是谁有类似源代码?

问题描述 CSDN论坛左侧个人用户中的社区消息功能是怎么实现的?重要的是谁有类似源代码?有的话,我留言.我的分当然可以更高.这二十分只是问谁有.

win7系统远程协助功能怎么使用?

  具体方法如下: 1.在开始菜单的搜索框中输入:系统配置→双击打开系统配置; 2.系统配置→工具→远程协助→启动; 3.这里有两个选项,一个是:邀请信任的人帮助您,另一个是:帮助邀请人; 4.如果从未使用过,有可能将该功能关闭的,可以点击修复开启远程协助; 5.此时调用了疑难解答向导→点选:尝试以管理员身份进行这些修; 6.自动检测.修复; 7.稍后,已经修复了; 8.再次按照以上步骤打开远程协助,也可以在运行中输入:msra.exe →确定,也能打开远程协助向导; 9.这里也有两个选项,一个

Windows XP中的远程桌面 实现多用户连接

远程桌面是 Windows XP Professional 的新功能,通过使用该功能,我们可以通过网络从其它计算机登录到开启了远程桌面功能的计算机,查看该计算机的桌面内容,操作计算机中安装的程序,访问远程计算机上保存的所有文件. 不过该功能有一个局限性,如果已经有用户在本地登录了计算机,那么如果你要从远程登录,已经在本地登录的用户就无法继续使用计算机了(图一).如果远程计算机上打开了快速用户切换功能,本地登录的用户只能断开自己的会话,返回欢迎屏幕:而如果远程计算机禁用了快速用户切换功能,本地登录

PHP ftp类实现远程附件上传例子

现在很多地方需要用ftp类操作另外的网站服务器,上传图片之类的.现在贴一个php ftp类给大家 class Ftp {             //FTP 连接资源     private $link;     //FTP连接时间     public $link_time;     //错误代码     private $err_code = 0;     //传送模式{文本模式:FTP_ASCII, 二进制模式:FTP_BINARY}     public $mode = FTP_BINA

PHP远程附件上传

  今天对ShuipFCMS程序增加了远程附件的功能.是利用FTP实现,下面贴出一个PHPCMS V9里面的一个FTP处理类,大致讲讲怎么实现远程附件的实现. FTP类源代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57