Ejemplo n.º 1
0
        public void GetFileTest()
        {
            const string   fileId      = "AgADBAADEsg4GwoeZAcwyq9C0fVhKANXvRkABDMpTvt2GGzZ-2UEAAEC";
            FileInfoResult sendMessage = mTelegramBot.GetFile(fileId);

            Assert.True(sendMessage.Ok);
            Assert.AreEqual(fileId, sendMessage.Result.FileId);
        }
Ejemplo n.º 2
0
        public Task <FileInfoResult> FileInfo()
        {
            return(Task.Run(() =>
            {
                // 简单的过滤下不合理的请求,可注释,以下接口基本上都有此过滤
                var request = FilterRequestForWPS(Request);
                if (!request.Status)
                {
                    return new FileInfoResult {
                        code = request.code, msg = request.msg
                    };
                }

                // 获取自定义参数
                var userId = request.Params["_w_userId"].ToString();

                // 从数据库查询用户名、文件 等信息......

                // 创建时间和修改时间默认全是现在,可更改,但是注意时间戳是11位的(秒)
                var now = TimestampHelper.GetCurrentTimestamp();

                var result = new FileInfoResult
                {
                    file = new Model.WPSFile
                    {
                        id = request.FileId,
                        name = "文件名",
                        version = 1,
                        size = 1024, // WPS单位是B
                        create_time = now,
                        creator = "创建者用户名",
                        modify_time = now,
                        modifier = "修改者用户名",
                        download_url = "文件下载链接",
                        user_acl = new User_acl
                        {
                            history = 1, // 允许查看历史版本
                            rename = 1,  // 允许重命名
                            copy = 1     // 允许复制
                        },
                        watermark = new Watermark
                        {
                            type = 0, // 1为有水印
                            value = "水印文字"
                        }
                    },
                    user = new UserForFile()
                    {
                        id = userId,
                        name = "用户名",
                        //permission = "read",
                        permission = "write", // write为允许编辑,read为只能查看
                        avatar_url = "用户头像url",
                    }
                };
                return result;
            }));
        }
        public static void UserInfoResultTest()
        {
            const bool   ok       = true;
            const string fileId   = "fileId";
            const int    fileSize = 123456;
            const string filePath = "/file/path";


            JObject fileInfo = FileInfoObject.GetObject(fileId, fileSize, filePath);

            dynamic fileInfoResultObject = FileInfoResultObject.GetObject(ok, fileInfo);

            FileInfoResult fileInfoResult = new FileInfoResult(fileInfoResultObject.ToString());

            Assert.AreEqual(ok, fileInfoResult.Ok);
            Assert.AreEqual(fileId, fileInfoResult.Result.FileId);
            Assert.AreEqual(fileSize, fileInfoResult.Result.FileSize);
            Assert.AreEqual(filePath, fileInfoResult.Result.FilePath);
        }
Ejemplo n.º 4
0
        public HttpResponseMessage FileUpload()
        {
            HttpResponseMessage response        = null;
            FileInfoResult      _FileInfoResult = new FileInfoResult();

            // 检查是否是 multipart/form-data
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }
            try
            {
                string temp = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "temp");
                //string temp = System.Web.Hosting.HostingEnvironment.MapPath(ConfigSetting.GetValue("KEY4001"));

                for (int i = 0; i < HttpContext.Current.Request.Files.Count; i++)
                {
                    FileDetail     _FileDetail = new FileDetail();
                    HttpPostedFile file        = HttpContext.Current.Request.Files[0];
                    Guid           FileGuid    = Guid.NewGuid();
                    var            filePath    = Path.Combine(temp, FileGuid.ToString(), Path.GetFileName(file.FileName));
                    Directory.CreateDirectory(Path.Combine(temp, FileGuid.ToString()));
                    file.SaveAs(filePath);
                    _FileDetail.FileID     = FileGuid.ToString("N");
                    _FileDetail.FileName   = Path.GetFileName(file.FileName);
                    _FileDetail.FileSize   = file.ContentLength.ToString();
                    _FileDetail.UploadDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    _FileDetail.URL        = FileGuid.ToString() + '/' + Path.GetFileName(file.FileName);
                    _FileInfoResult.FilesInfo.Add(_FileDetail);
                }
                _FileInfoResult.returnCode = 0;
                //return Request.CreateResponse(HttpStatusCode.OK);
                StringContent content = new StringContent(JsonConvert.SerializeObject(_FileInfoResult));
                response         = new HttpResponseMessage(HttpStatusCode.OK);
                response.Content = content;
                return(response);
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
        public JsonResult FileInfo()
        {
            _log.WriteInfo("开始请求接口【file/info】");
            FileInfoResult result = new FileInfoResult();

            try
            {
                var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request);
                if (!request.Status)
                {
                    result.code    = request.code;
                    result.message = request.message;
                    result.details = request.details;
                    result.hint    = request.hint;
                }
                else
                {
                    // 获取自定义参数
                    var userId = request.Params["_w_userId"].ToString(); //用户ID
                    var fileId = request.FileId;                         //文件ID

                    #region >>>从数据库查询用户名、文件 等信息......<<<

                    #endregion

                    #region >>>示例<<<
                    // 创建时间和修改时间默认全是现在,可更改,但是注意时间戳是11位的(秒)
                    var    now      = TimestampHelper.GetCurrentTimestamp();
                    var    fileName = request.FileId == "1000" ? "TestFile.docx" : (request.FileId == "1001" ? "TestFile_v1.docx" : "TestFile_v2.docx");
                    int    version  = request.FileId == "1000" ? 5 : (request.FileId == "1001" ? 1 : 2);
                    string filePath = Server.MapPath($"/Files/{fileName}");
                    result.file = new WPSFile
                    {
                        id   = "1000",
                        name = "TestFile.docx",
                        // 如果线下修改后将修改此版本重新上传
                        version      = 5,
                        size         = FileHelper.FileSize(filePath), // WPS单位是B
                        create_time  = now,
                        creator      = "天玺",
                        modify_time  = now,
                        modifier     = "天玺",
                        download_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/{fileName}",
                        user_acl     = new User_acl
                        {
                            history = 1, // 允许查看历史版本
                            rename  = 1, // 允许重命名
                            copy    = 1, // 允许复制
                            export  = 1,
                        },
                        watermark = new Watermark
                        {
                            type  = 1, // 1为有水印
                            value = "水印文字"
                        }
                    };
                    result.user = new UserForFile()
                    {
                        id   = "1000",
                        name = "天玺",
                        //permission = "read",
                        permission = "write", // write为允许编辑,read为只能查看
                        avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo1.jpg",
                    };
                    #endregion
                }
            }
            catch (Exception ex)
            {
                _log.WriteError("【系统异常】-【" + ex.Message + "】", ex);
                result.code    = (int)Enumerator.ErrorCode.ServerError;
                result.message = Enumerator.ErrorCode.ServerError.ToString();
                result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError);
            }

            _log.WriteInfo("请求接口【file/info】完成,返回数据:" + JsonConvert.SerializeObject(result));
            return(Json(result, JsonRequestBehavior.AllowGet));
        }