Ejemplo n.º 1
0
        static public Model.FileRecord uploadFile(VmosoSession session, String filePath, String title, String description, bool dominantActivity)
        {
            try {
                String url       = session.Host + "/up/file";
                String userAgent = session.GetApiClient().Configuration.UserAgent;

                WebClient client = new WebClient();
                client.Headers.Add("X-CV-Authorization", session.GetAuthorizationHeader());
                client.Headers.Add("User-Agent", userAgent);

                byte[]  response   = client.UploadFile(url, filePath);
                var     jsonString = System.Text.Encoding.Default.GetString(response);
                dynamic dynObj     = JsonConvert.DeserializeObject(jsonString);
                var     file       = dynObj[0];

                String fileName       = file.name;
                String fileDownloadId = file.fileDownloadId;
                String mimeType       = file.mimeType;
                int    fileSize       = file.filesize;

                FileRecord fr = new FileRecord();
                fr.Type               = "file";
                fr.Name               = title;
                fr.Description        = description;
                fr.Filename           = "1";
                fr.Originalfilename   = fileName;
                fr.SiteSelected       = "1";
                fr.FilestoreDirRoot   = "1";
                fr.FilestoreFilestore = fileDownloadId;
                fr.Mimetype           = mimeType;
                fr.Filesize           = fileSize;
                fr.Downloadable       = "1";
                fr.Simpletype         = "1";
                fr.DvaultItemFlag     = "1";
                fr.DvaultItemStatus   = "1";
                fr.BvrevVersion       = 1;
                fr.BvrevLastUpdater   = 1;
                fr.Trashed            = "0";

                FileApi fileApi = new FileApi(session.GetApiClient());

                CreateFileInput createFileInput = new CreateFileInput(fr, dominantActivity, null);

                CreateFileResult createFileResult = fileApi.CreateFile(createFileInput);
                if (createFileResult.Hdr.Rc == 0)
                {
                    return(createFileResult.File);
                }
                else
                {
                    throw new Exception("Error uploading file. Rc=" + createFileResult.Hdr.Rc);
                }
            } catch (Exception ex)
            {
                throw new Exception("Error uploading file", ex);
            }
        }