1. 程式人生 > >文件上傳到阿裏雲

文件上傳到阿裏雲

ati rep cati ace convert object httppost param yunos

/// <summary>
        /// 文件上傳
        /// </summary>
        /// <param name="file"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public string FileSaveAliyunOSS(HttpPostedFileBase file, string fileName)
        {
            string FilePath = "";
            //上傳到阿裏雲  
            using (Stream fileStream = file.InputStream)//轉成Stream流  
            {
                string md5 = OssUtils.ComputeContentMd5(fileStream, file.ContentLength);
                //string today = DateTime.Now.ToString("yyyyMMdd");

                string extension = System.IO.Path.GetExtension(file.FileName);//擴展名 
                string FileName = Convert.ToString(Guid.NewGuid()).Replace("-", "") + extension;//文件名=文件名+當前上傳時間  
                FilePath = fileName + "/" + Convert.ToString(DateTime.Now.Year) + "/" + Convert.ToString(DateTime.Now.Month) + "/" + FileName;//雲文件保存路徑  
                
                try
                {
                    //初始化阿裏雲配置--外網Endpoint、訪問ID、訪問password  
                    OssClient aliyun = new OssClient(endpoint, accessKeyId, accessKeySecret);

                    //將文件md5值賦值給meat頭信息,服務器驗證文件MD5  
                    var objectMeta = new ObjectMetadata
                    {
                        ContentMd5 = md5,
                        ContentType = "application/octet-stream",
                    };
                    //文件上傳--空間名、文件保存路徑、文件流、meta頭信息(文件md5) //返回meta頭信息(文件md5)  
                    PutObjectResult por = aliyun.PutObject(BucketName, FilePath, fileStream, objectMeta);
                    string text = por.ETag;
                    if (extension.ToUpper() == ".JPG")
                    {
                        FilePath += "-big";
                    }
                }
                catch (Exception e)
                {
                    ICE.Core.LogHelper.ErrorLog(log, string.Format("圖片上傳OSS出錯了:{0}", Convert.ToString(e.Message)));
                    FilePath = "";
                }
            }
            return FilePath;
        }

  

文件上傳到阿裏雲