文件服务修改

使用Web API处理文件请求,主要主要提供以下功能:

上传文件 (多个)

下载或查看 (根据文件Id)

批量打包下载(多个文件Id返回zip文件流)

返回多个文件信息(无文件流),用于处理文件(列表/树形)信息展示

文件上传

使用百度WebUploader上传插件

文件服务接口地址、验证参数均由业务站点服务器下发
①  "server":文件服务API地址fsApiUrl    // http://192.168.0.109:8088/FileInfo/AjaxUpload
②  验证参数:
    "sysCode" : 调用方标识码    //e.g. JieNor,yidaohome,YDJ
    "authCode" : 验证密钥    // 加密串
③  具体客户端Ajax调用方式参看 js Help

返回数据:

Dictionary<Key,Value>

fileId    (Dictionary<Key,value>)   -->  { name:"111.jpg", size:"1596", url:"", thumbnailSrc:"", printTextSrc:"", printLogoSrc:"", finishTime:"yyyy-MM-dd HH:mm:ss" }

Http Response(json):
{
  "5d62216f87df94293a4798648109ec01": {  //文件Id
    "FileId": "5d62216f87df94293a4798648109ec01",  //文件Id
    "FileName": "201409061031406583.jpg",  //文件名
    "FileSize": 80712,  //字节数
    "Url": "http://192.168.0.109:8088/images/5d62216f87df94293a4798648109ec01.jpg",  //文件Url/Src
    "ThumbnailSrc": "http://192.168.0.109:8088/images/5d62216f87df94293a4798648109ec01.thumbnail.jpg",  //缩略图
    "PrintTextSrc": "http://192.168.0.109:8088/images/5d62216f87df94293a4798648109ec01.watermark.jpg",  //文字水印
    "PrintLogoSrc": "http://192.168.0.109:8088/images/5d62216f87df94293a4798648109ec01.waterpic.jpg",  //图片水印
    "FinishTime": "2017-07-18 20:05:45"
   }
}

//返回的文件Id,文件Url/Src地址(如果是图片,可能会包括缩略图/文字水印/图片水印图)由调用方自行处理。

如果是普通文件(非图片):
{
  "0a97704bfe2c4d42aa4fcf6ac123e288": {  //文件Id
    "FileId": "0a97704bfe2c4d42aa4fcf6ac123e288",  //文件Id
    "FileName": "201409061031406583.rar",  //文件名
    "FileSize": 80712,  //字节数
    "Url": "http://192.168.0.109:8088/FileInfo/GetFile?fileId=0a97704bfe2c4d42aa4fcf6ac123e288",  //文件Url/Src
    "ThumbnailSrc": "",  //缩略图 null
    "PrintTextSrc": "",  //文字水印 null
    "PrintLogoSrc": "",  //图片水印 null
    "FinishTime": "2017-07-18 20:05:45"
   }
}

文件下载

  1. 获取单个文件(下载):
  2. HttpGet   http:// {域名或文件服务器IP:端口} /FileInfo/GetFile?fileId={id}
    测试下载:FileId:5d62216f87df94293a4798648109ec01


    图片文件: imag src="http://{域名或文件服务器IP:端口} /FileInfo/GetFile?fileId={id}"

  3. 获取多个文件信息:
  4. HttpPost   http://{域名或文件服务器IP:端口} /FileInfo/FetchFiles
      
    public class FetchFileInput {
        public string FileIds { get; set; } //多个文件Id:2a4feab94e2d0d4a914e950baeefe1d6,5452a6c8264077af61ffb56c6dd6b748,61b2f62a77af90d798f7dcc35347536b
     }
    // 具体在页面调用参看js Help

  5. 下载多个文件(返回文件流.zip):
  6. HttpPost   http://{域名或文件服务器IP:端口}/FileInfo/DownZipFile    List<string> fileIds