示例#1
0
        public async Task <string> CompressDataUriAsync(string dataUri)
        {
            string mimeType  = FileHelpers.GetMimeTypeFromBase64(dataUri);
            string extension = FileHelpers.GetExtension(mimeType);

            if (!IsFileSupported("file." + extension))
            {
                return(dataUri);
            }

            string temp        = Path.Combine(Path.GetTempPath(), _dataUriPrefix + Guid.NewGuid() + "." + extension);
            bool   isFileSaved = FileHelpers.SaveDataUriToFile(dataUri, temp);

            if (isFileSaved)
            {
                await CompressFilesAsync(temp);

                string base64 = FileHelpers.ConvertToBase64(temp);
                File.Delete(temp);

                return(base64);
            }

            return(dataUri);
        }
示例#2
0
        private void ApplyChanges(string filePath)
        {
            ITextSnapshot snapshot = _span.TextBuffer.CurrentSnapshot;

            if (File.Exists(filePath))
            {
                string dataUri = "url('" + FileHelpers.ConvertToBase64(filePath) + "') /*" + _url.UrlString.Text.Trim('"', '\'') + "*/";
                InsertEmbedString(snapshot, dataUri);
            }
            else
            {
                using (var dialog = new OpenFileDialog())
                {
                    dialog.CheckFileExists  = true;
                    dialog.Multiselect      = false;
                    dialog.InitialDirectory = new FileInfo(EditorExtensionsPackage.DTE.ActiveDocument.FullName).Directory.FullName;

                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        string dataUri = "url('" + FileHelpers.ConvertToBase64(dialog.FileName) + "')";
                        InsertEmbedString(snapshot, dataUri);
                    }
                }
            }
        }
示例#3
0
        private void ApplyChanges(string filePath)
        {
            ITextSnapshot snapshot = _span.TextBuffer.CurrentSnapshot;

            if (File.Exists(filePath))
            {
                string dataUri = "url('" + FileHelpers.ConvertToBase64(filePath) + "')";
                InsertEmbedString(snapshot, dataUri);
            }
            else
            {
                MessageBox.Show("'" + _path + "' could not be resolved.", "File not found", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }