# if_fs
**Repository Path**: xddcode/free_fs
## Basic Information
- **Project Name**: if_fs
- **Description**: 文件上传服务
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-04-17
- **Last Updated**: 2021-11-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# IF_FS文件服务
原项目为springboot项目,因自己业务需要改为SSM架构,原项目码云地址:https://gitee.com/whvse/easy-fs.git
## 使用指南
### 上传接口
`http://文件服务器ip:端口/file/upload`,使用POST方式,传递file参数:
```html
```
返回数据:`{"code": 200, "msg": "上传成功", "url": "2018/12/24/xxx.png", "smUrl": "sm/2018/12/24/xxx.png"}`。
### 查看/下载接口
```html
查看源文件
查看缩略图
```
如果是图片、音频、视频、pfd、网页、文本类型的文件会在浏览器直接打开,其他类型弹出下载框。
### 打开选择文件弹窗
```javascript
layer.open({
type: 2,
title: '选择文件',
content: 'fileChoose.html?multi=true',
area: ['600px', '420px'],
offset: '50px',
shade: .1,
fixed: false,
resize: false,
end: function () {
if (typeof(mFsUrls) != "undefined" && mFsUrls.length > 0) {
layer.msg('你选择了:' + JSON.stringify(mFsUrls), {icon: 1});
mFsUrls = undefined;
}
}
});
```
上面是使用layer弹窗插件打开选择文件弹窗,`fileChoose.html`是弹窗页面,如果是独立部署,写`http://文件服务器ip:端口/fileChoose.html`。
**参数配置:**
参数名 | 描述 | 可选值
--- | --- | ---
accept | 允许上传的文件类型 | image(图片)、video(视频)、audio(音频)、file(所有文件)
exts | 允许上传的后缀 | 使用`,`分割,例如`jpg,png`,就不能上传gif
multi | 是否是多选 | true和false,不写默认为false
maxNum| 多选时最多选择几个 | 默认无限
> 示例: fileChoose.html?accept=image&exts=png,jpg&multi=false
### 服务器参数配置
默认配置为上传到第二个硬盘(由于第一个磁盘默认为C盘,所以设为第二个硬盘)的`IF_FS/`文件夹中,并且会生成图片缩略图。若果要修改保存磁盘的位置则秩序修改controller中的`File.listRoots()[1]` 下标代表磁盘下盘:0-C,1-D,一切按照服务器硬盘为准
**可选参数:**
参数名称 | 描述 | 可选值
--- | --- | ---
fs.dir | 文件上传位置 | 默认是`EasyFS/`
fs.uuidName | 是否使用uuid命名 | 默认为`false`,使用文件原本名字,存在则加`(1)`
fs.useSm | 是否生成缩略图 | 默认为`true`
fs.useNginx | 是否使用nginx作为服务器 | 默认为`false`
fs.nginxUrl | nginx服务器地址 |
修改application.properties文件重新打包部署即可,如果不想重新打包,可通过如下方式修改:
使用nginx作为服务器,`fs.dir`写nginx的html目录,访问文件使用`http://服务器ip:nginx端口/文件地址`的形式访问。