예제 #1
0
        public async Task <string> UploadFile(string filepath, string path, metadata metadata)
        {
            if (string.IsNullOrEmpty(path))
            {
                path = "";
            }
            byte[]          bytes  = System.IO.File.ReadAllBytes(filepath);
            string          base64 = Convert.ToBase64String(bytes);
            SaveFileMessage q      = new SaveFileMessage();

            q.filename = System.IO.Path.Combine(path, System.IO.Path.GetFileName(filepath));
            q.mimeType = MimeTypeHelper.GetMimeType(System.IO.Path.GetExtension(filepath));
            q.file     = base64;
            q.metadata = metadata;
            if (q.metadata == null)
            {
                q.metadata = new metadata();
            }
            q.metadata.name     = System.IO.Path.GetFileName(filepath);
            q.metadata.filename = q.filename;
            q.metadata.path     = path;
            q = await q.SendMessage <SaveFileMessage>(this);

            if (!string.IsNullOrEmpty(q.error))
            {
                throw new Exception(q.error);
            }
            return(q.id);
        }