执行
前提有库:
sudo apt-get install libpcre3 libpcre3-dev
sudo ./configure --prefix=/opt/FastDFS/nginx-1.21.1/ --add-module=/opt/FastDFS/fastdfs-nginx-module/src
sudo make
sudo make install
sudo vim /opt/FastDFS/nginx-1.21.1/objs/Makefile
/install
注释掉以下几行
sudo cp /opt/FastDFS/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
store_path0=/home/itcast/fastdfs/storage
sudo cp /opt/FastDFS/fastdfs/conf/http.conf /etc/fdfs/
sudo cp /opt/FastDFS/fastdfs/conf/mime.types /etc/fdfs/
sudo vim /opt/FastDFS/nginx-1.21.1/conf/nginx.conf
添加
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动
sudo /opt/FastDFS/nginx-1.21.1/sbin/nginx
8使用go客户端上传文件测试
https://github.com/tedcy/fdfs_client
导包:
import "github.com/tedcy/fdfs_client"
查看 demo:client_test.go ,确认,我们使用的方法:
client, err := NewClientWithConfig("fdfs.conf")
参数: /etc/fdfs/client.conf
client.UploadByBuffer([]byte("hello world"), "go");
参1: []byte 的图片数据。
参2: 去除 “.” 文件后缀名。
报错:
no connPool can be use
重新建/etc/fdfs/client.conf 文件,内容拷贝过去
测试
package main
import (
"github.com/tedcy/fdfs_client"
"fmt"
)
func main() {
// 初始化客户端 --- 配置文件
clt, err := fdfs_client.NewClientWithConfig("/etc/fdfs/client.conf")
if err != nil {
fmt.Println("初始化客户端错误, err:", err)
return
}
// 上传文件 -- 尝试文件名上传! 传入到 storage
resp, err := clt.UploadByFilename("头像1.jpg")
fmt.Println(resp, err)
}
-- 运行成功后 去 ~/fastdfs/storage/data/00/00/ 中查看! ls | grep xxx
上传头像到fastdfs 中, 按字节流。(ihome项目)
获取图片文件, 静态文件对象
file, _ := ctx.FormFile("avatar")
clt, _ := fdfs_client.NewClientWithConfig("/etc/fdfs/client.conf")
// 打开文件,读取文件内容
f, _ := file.Open() // 只读打开.
buf := make([]byte, file.Size) // 按文件实际大小,创建切片.
f.Read(buf) // 读取文件内容, 保存至buf缓冲区.
// go语言根据文件名获取文件后缀
fileExt := path.Ext(file.Filename) // 传文件名, 获取文件后缀---- 带有"."
// 按字节流上传图片内容
remoteId, _ := clt.UploadByBuffer(buf, fileExt[1:])
查看上传:
http://192.168.6.108:8888/group1/M00/00/00/xxxxxxxxxxxxxxx.jpg