예제 #1
0
        private void ResponseWithJSON(HttpContext context, FilesStatus status)
        {
            string jsonObj = js.Serialize(status);

            context.Response.AddHeader("Content-Disposition", "inline; filename=\"deleteResults.json\"");
            context.Response.Write(jsonObj);
            context.Response.ContentType = "application/json";
        }
예제 #2
0
        // Delete file from the server
        private void DeleteFile(HttpContext context)
        {
            //FileName = Path.Get
            var filePath = StorageRoot + context.Request["f"];

            if (File.Exists(filePath))
            {
                //var file = File.
                FileName = Path.GetFileName(filePath);
                System.IO.FileInfo file   = new System.IO.FileInfo(filePath);
                FilesStatus        status = new FilesStatus(file);

                if (!IsFileLocked(filePath))
                {
                    DeleteFile(filePath, UserFolderUrl);
                    status.delete_status        = Status.success;
                    status.tnails_delete_status = DeleteThumbnails(filePath);
                }
                else
                {
                    //we try a few times before giving up
                    int cap = 100;
                    status.delete_status = Status.failure;
                }
                ResponseWithJSON(context, status);
            }
            else
            {
                //the file was already deleted but it's still exist on the client side
                if (context.Request["f"] != null)
                {
                    FileName = context.Request["f"];
                    FilesStatus status = new FilesStatus(FileName, 0);
                    status.FileExist = false;
                    ResponseWithJSON(context, status);
                }
            }
        }