public static Task <string> UploadBase64Async(string bucket, string filelocation)
    {
        var tcs = new TaskCompletionSource();

        qiniu.Config.InitFromAppConfig();

        string qiniuKey = Guid.NewGuid().ToString();

        // I think there is an issue here : jpeg is never used
        jpegToBase64 jpeg  = new jpegToBase64(filelocation);
        QiniuFile    qfile = new QiniuFile(bucket, qiniuKey);

        qfile.UploadCompleted += (sender, e) => {
            var returnUrl = e.RawString;
            Console.Write(returnUrl);
            tcs.SetResult(returnUrl);
        };
        qfile.UploadFailed += (sender, e) => {
            QiniuWebException qe = (QiniuWebException)e.Error;
            Console.WriteLine(qe.Error.ToString());
            tcs.SetException(qe);
        };
        qfile.UploadString((int)jpeg.Filesize, "image/png", jpeg.Base64Content);
        return(tcs.Task);
    }
Esempio n. 2
0
        /// <summary>
        /// Uploads the base64.
        /// </summary>
        public static void UploadBase64()
        {
            string bucket   = "icattlecoder";
            string qiniuKey = "base64.png";

            ManualResetEvent done  = new ManualResetEvent(false);
            jpegToBase64     jpeg  = new jpegToBase64("/Users/icattlecoder/Desktop/base64.png");
            QiniuFile        qfile = new QiniuFile(bucket, qiniuKey);

            qfile.UploadCompleted += (sender, e) => {
                Console.Write(e.RawString);
                done.Set();
            };
            qfile.UploadFailed += (sender, e) => {
                QiniuWebException qe = (QiniuWebException)e.Error;
                Console.WriteLine(qe.Error.ToString());
            };
            qfile.UploadString((int)jpeg.Filesize, "image/png", jpeg.Base64Content);
            done.WaitOne();
        }
Esempio n. 3
0
        public static void UploadBase642()
        {
            string bucket   = "icattlecoder";
            string qiniuKey = "base642.png";

            ManualResetEvent done  = new ManualResetEvent(false);
            Base64File       bfile = new Base64File(Base64File.TESTBASE64);


            QiniuFile qfile = new QiniuFile(bucket, qiniuKey);

            qfile.UploadCompleted += (sender, e) => {
                Console.Write(e.RawString);
                done.Set();
            };
            qfile.UploadFailed += (sender, e) => {
                QiniuWebException qe = (QiniuWebException)e.Error;
                Console.WriteLine(qe.Error.ToString());
            };
            qfile.UploadString((int)bfile.FileSize, "image/png", Base64File.TESTBASE64);
            done.WaitOne();
        }
Esempio n. 4
0
        private ReturnResult UploadImageToQiniu(String imgPath, HttpPostedFile file, string basePath = "~/UploadFiles/Files/")
        {
            // 初始化qiniu配置,主要是API Keys
            qiniu.Config.ACCESS_KEY = _appConfig.AppConfigGet("ACCESS_KEY");
            qiniu.Config.SECRET_KEY = _appConfig.AppConfigGet("SECRET_KEY");
            qiniu.Config.UP_HOST    = _appConfig.AppConfigGet("UP_HOST");
            string bucketName = _appConfig.AppConfigGet("BUCKET_NAME");

            ReturnResult rr = null;

            string fileExt = FileUtil.GetExtension(imgPath);

            // ,jpg,jpeg,bmp,png
            if (fileExt.Equals("gif", StringComparison.OrdinalIgnoreCase) ||
                fileExt.Equals("jpeg", StringComparison.OrdinalIgnoreCase) ||
                fileExt.Equals("bmp", StringComparison.OrdinalIgnoreCase) ||
                fileExt.Equals("png", StringComparison.OrdinalIgnoreCase))
            {
                string qiniukey = basePath + FileUtil.GetFileName(imgPath);

                /* 断点续传
                 */
                QiniuFile        qfile = new QiniuFile(bucketName, qiniukey);
                ManualResetEvent done  = new ManualResetEvent(false);
                qfile.UploadCompleted += (sender, e) =>
                {
                    rr = new ReturnResult()
                    {
                        ErrorCode = 0, ErrorMessage = string.Format("[UploaderFileByBaidu->SaveFile_UploadCompleted] Key:{0} Hash:{1}", e.key, e.Hash), LogLevel = (short)LogLevel.LOG_LEVEL_INFO, Data1 = qiniukey
                    };

                    done.Set();
                };
                qfile.UploadFailed += (sender, e) =>
                {
                    rr = new ReturnResult()
                    {
                        ErrorCode = 000012, ErrorPath = string.Format("[UploaderFileByBaidu->UploadFailed] Error:{0}", e.Error.Error), ErrorMessage = dicErrInfo["E000012"].ChineseName, LogLevel = dicErrInfo["E000012"].LogLevel
                    };
                    done.Set();
                };

                // 进度条变更
                qfile.UploadProgressChanged += (sender, e) =>
                {
                    int percentage = (int)(100 * e.BytesSent / e.TotalBytes);
                    rr = new ReturnResult()
                    {
                        ErrorCode = 0, ErrorMessage = string.Format("[UploaderFileByBaidu->SaveFile_UploadProgressChanged] Percentage:{0}", percentage), LogLevel = (short)LogLevel.LOG_LEVEL_INFO, Data1 = qiniukey
                    };
                };

                byte[] bytes = new byte[(int)file.ContentLength];
                file.InputStream.Read(bytes, 0, bytes.Length);
                // 设置当前流的位置为流的开始
                file.InputStream.Seek(0, SeekOrigin.Begin);
                //上传为异步操作
                //上传本地文件到七牛云存储
                qfile.UploadString(file.ContentLength, file.ContentType, Convert.ToBase64String(bytes));
                done.WaitOne();
            }
            else
            {
                rr              = new ReturnResult();
                rr.ErrorCode    = 000013;
                rr.ErrorMessage = dicErrInfo["E000013"].ChineseName;
                rr.ErrorPath    = "FileUploadHelper->UploadChunkImageToQiniu";
                rr.LogLevel     = dicErrInfo["E000013"].LogLevel;
                return(rr);
            }

            return(rr);
        }
Esempio n. 5
0
        public static void Main(string[] args)
        {
            // 初始化qiniu配置,主要是API Keys
            qiniu.Config.ACCESS_KEY = "SL0UAJ5ilp1B2Fs2aOvxQ5tUiEG-NWOL4Xj76SLO";
            qiniu.Config.SECRET_KEY = "JUl2SDc0SzCcUinGek7xrCf8MZexlvxDuT0e68zy";

            /**********************************************************************
            *  可以用下面的方法从配置文件中初始化
            *  qiniu.Config.InitFromAppConfig ();
            **********************************************************************/

            string localfile = @"C:\Users\Jimmy\Desktop\桌面文档\免责声明.txt";
            string bucket    = "jcodes";
            string qiniukey  = Guid.NewGuid().ToString();

            //{
            //    Base64File bfile = new Base64File (Base64File.TESTBASE64);
            //    bfile.Save ("/Users/icattlecoder/Desktop/dbase64.jpg");
            //}

            //{
            //    UploadBase642 ();
            //}

            //{
            //    UploadBase64 ();
            //}

            //======================================================================
            {
                QiniuFile qfile = new QiniuFile(bucket, qiniukey, localfile);
                // 续传文件
                // ResumbleUploadEx puttedCtx = new ResumbleUploadEx (localfile);
                ManualResetEvent done = new ManualResetEvent(false);
                qfile.UploadCompleted += (sender, e) => {
                    Console.WriteLine(e.key);
                    Console.WriteLine(e.Hash);
                    done.Set();
                };
                qfile.UploadFailed += (sender, e) => {
                    Console.WriteLine(e.Error.Error.ToString());
//					puttedCtx.Save();
                    done.Set();
                };

                qfile.UploadProgressChanged += (sender, e) => {
                    int percentage = (int)(100 * e.BytesSent / e.TotalBytes);
                    Console.Write(percentage);
                };
                qfile.UploadBlockCompleted += (sender, e) => {
//					puttedCtx.Add(e.Index,e.Ctx);
//					puttedCtx.Save();
                };
                qfile.UploadBlockFailed    += (sender, e) => {
                    //
                };

                //上传为异步操作
                //上传本地文件到七牛云存储
//				qfile.Upload (puttedCtx.PuttedCtx);
                qfile.Upload();
                done.WaitOne();
            }

            //======================================================================
            {
                /*
                 *
                 * try {
                 *      QiniuFile qfile = new QiniuFile (bucket, qiniukey);
                 *      QiniuFileInfo finfo = qfile.Stat ();
                 *      if (finfo != null) {
                 *              qfile.Move("cloudcomment","movetest");
                 *              //删除七牛云空间的文件
                 *              //qfile.Delete ();
                 *      }
                 * } catch (QiniuWebException e) {
                 *      Console.WriteLine (e.Error.HttpCode);
                 *      Console.WriteLine (e.Error.ToString ());
                 * }
                 */
            }
        }
Esempio n. 6
0
        public static void Main(string[] args)
        {
            // 初始化qiniu配置,主要是API Keys
            qiniu.Config.ACCESS_KEY = "IT9iP3J9wdXXYsT1p8ns0gWD-CQOdLvIQuyE0FOk";
            qiniu.Config.SECRET_KEY = "zUCzekBtEqTZ4-WJPCGlBrr2PeyYxsYn98LPaivM";

            /**********************************************************************
            *  可以用下面的方法从配置文件中初始化
            *  qiniu.Config.InitFromAppConfig ();
            **********************************************************************/

            string localfile = "/Users/icattlecoder/Movies/tzd.rmvb";
            string bucket    = "icattlecoder";
            string qiniukey  = "tzd.rmvb";

            {
                Base64File bfile = new Base64File(Base64File.TESTBASE64);
                bfile.Save("/Users/icattlecoder/Desktop/dbase64.jpg");
            }

            {
                UploadBase642();
            }

            {
                UploadBase64();
            }

            //======================================================================
            {
                QiniuFile qfile = new QiniuFile(bucket, qiniukey, localfile);
//				ResumbleUploadEx puttedCtx = new ResumbleUploadEx (localfile);
                ManualResetEvent done = new ManualResetEvent(false);
                qfile.UploadCompleted += (sender, e) => {
                    Console.WriteLine(e.key);
                    Console.WriteLine(e.Hash);
                    done.Set();
                };
                qfile.UploadFailed += (sender, e) => {
                    Console.WriteLine(e.Error.ToString());
//					puttedCtx.Save();
                    done.Set();
                };

                qfile.UploadProgressChanged += (sender, e) => {
                    int percentage = (int)(100 * e.BytesSent / e.TotalBytes);
                    Console.Write(percentage);
                };
                qfile.UploadBlockCompleted += (sender, e) => {
//					puttedCtx.Add(e.Index,e.Ctx);
//					puttedCtx.Save();
                };
                qfile.UploadBlockFailed    += (sender, e) => {
                    //
                };

                //上传为异步操作
                //上传本地文件到七牛云存储
//				qfile.Upload (puttedCtx.PuttedCtx);
                qfile.Upload();
                done.WaitOne();
            }

            //======================================================================
            {
                /*
                 *
                 * try {
                 *      QiniuFile qfile = new QiniuFile (bucket, qiniukey);
                 *      QiniuFileInfo finfo = qfile.Stat ();
                 *      if (finfo != null) {
                 *              qfile.Move("cloudcomment","movetest");
                 *              //删除七牛云空间的文件
                 *              //qfile.Delete ();
                 *      }
                 * } catch (QiniuWebException e) {
                 *      Console.WriteLine (e.Error.HttpCode);
                 *      Console.WriteLine (e.Error.ToString ());
                 * }
                 */
            }
        }