Esempio n. 1
0
        /// <summary>
        /// 查看Blob已上传文件的目录
        /// </summary>
        /// <returns></returns>
        public ActionResult GetBlobList()
        {
            string containername = ConfigurationManager.AppSettings["ContainerName"].ToString();
            var    container     = AzureBlobHelper.GetContainer(containername);

            StringBuilder sb = new StringBuilder();

            // Loop over items within the container and output the length and URI.
            foreach (IListBlobItem item in container.ListBlobs(null, false))
            {
                if (item.GetType() == typeof(CloudBlockBlob))
                {
                    CloudBlockBlob blob = (CloudBlockBlob)item;

                    sb = sb.AppendFormat("Block blob of length {0}: {1}\n", blob.Properties.Length, blob.Uri);
                }
                else if (item.GetType() == typeof(CloudPageBlob))
                {
                    CloudPageBlob pageBlob = (CloudPageBlob)item;

                    sb = sb.AppendFormat("Page blob of length {0}: {1}\n", pageBlob.Properties.Length, pageBlob.Uri);
                }
                else if (item.GetType() == typeof(CloudBlobDirectory))
                {
                    CloudBlobDirectory directory = (CloudBlobDirectory)item;

                    sb = sb.AppendFormat("Directory: {0}\n", directory.Uri);
                }
            }

            return(Content(sb.ToString()));
        }
Esempio n. 2
0
        /// <summary>
        /// 删除blobFile
        /// </summary>
        /// <param name="drawingBlobId"></param>
        /// <returns></returns>
        public ActionResult DeleteBlob(int drawingBlobId)
        {
            var drawingFile = _fileVersionService.Get(f => f.Id == drawingBlobId);

            if (drawingFile == null)
            {
                return(Json(new
                {
                    result = false,
                    errmsg = "文件未找到"
                }, JsonRequestBehavior.AllowGet));
            }

            try
            {
                string         containername = ConfigurationManager.AppSettings["ContainerName"].ToString();
                var            container     = AzureBlobHelper.GetContainer(containername);
                CloudBlockBlob blockBlob     = container.GetBlockBlobReference(drawingFile.BIMFileId);

                // Delete the blob.
                blockBlob.Delete();
                _fileVersionService.Delete(drawingFile);

                return(Json(new
                {
                    result = true,
                    errmsg = "已删除"
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    result = true,
                    errmsg = $"已删除,无需再删除:{ex.Message}"
                }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 3
0
        public ActionResult PostPicture(FormCollection form)
        {
            //向BIM上传model
            string uploadLicenceUri = "";
            var    file             = Request.Files["licencePicture"];

            //var file = Request.Files[0];
            if (file != null && file.ContentLength > 0)
            {
                string filehouzhui = file.FileName.Substring(file.FileName.LastIndexOf('.') + 1, file.FileName.Length - file.FileName.LastIndexOf('.') - 1);
                if (filehouzhui.ToLower() == "jpg" || filehouzhui.ToLower() == "png" || filehouzhui.ToLower() == "jpeg")
                {
                    System.Guid addToTheEnd  = System.Guid.NewGuid();
                    string      fileRealName = file.FileName.Substring(0, file.FileName.LastIndexOf('.'));

                    string fileNameValue = fileRealName + addToTheEnd + "." + filehouzhui;
                    Stream uploadStream  = file.InputStream;


                    //上传至Azure

                    string containername = ConfigurationManager.AppSettings["ContainerName"].ToString();
                    var    container     = AzureBlobHelper.GetContainer(containername);

                    CloudBlockBlob blockBlob = container.GetBlockBlobReference(fileNameValue);
                    blockBlob.Properties.ContentType = "application/octet-stream";
                    blockBlob.UploadFromStream(uploadStream);

                    var fileBlobUrl = AzureBlobHelper.GetSAS(fileNameValue).Split('?').FirstOrDefault();

                    ////文件名的key和value
                    //string savePath = Server.MapPath("~/upload/BusinessLicencePicture");
                    //if (!System.IO.Directory.Exists(savePath))
                    //{
                    //    System.IO.Directory.CreateDirectory(savePath);
                    //    //加访问权限
                    //   // AddpathPower(savePath, "Users");
                    //}
                    ////防止文件名重复
                    //System.Guid addToTheEnd = System.Guid.NewGuid();
                    //string fileRealName = file.FileName.Substring(0, file.FileName.LastIndexOf('.'));

                    //string filepath = savePath + "\\" + fileRealName + addToTheEnd + "." + filehouzhui;
                    //file.SaveAs(filepath);
                    uploadLicenceUri = fileBlobUrl;
                    return(Json(new
                    {
                        Result = true,
                        Message = uploadLicenceUri
                    }));
                }
                else
                {
                    return(Json(new
                    {
                        Result = false,
                        Message = "请上传正确格式的图片文件!"
                    }));
                }
            }
            else
            {
                return(Json(new
                {
                    Result = false,
                    Message = "请上传jpg或jpeg格式的图片!"
                }));

                //InfoAllRight = false;
                //backMessage = backMessage + "上传图片有误/n";
            }
        }