powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / На сервере Clipboard.GetDataObject() пустой
10 сообщений из 10, страница 1 из 1
На сервере Clipboard.GetDataObject() пустой
    #39022123
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрабатываю документ с использованием Microsoft.Office.Interop.Word. Получаю картинку способом описанным здесь
пример Проблема в том что после паблиша на сервер
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 if (data.GetDataPresent(DataFormats.Bitmap))
    {
        Image image = (Image)data.GetData(DataFormats.Bitmap,true);

        image.Save("image.bmp",System.Drawing.Imaging.ImageFormat.Bmp);
        image.Save("image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
        image.Save("image.gif",System.Drawing.Imaging.ImageFormat.Gif);
    }


data.GetDataPresent(DataFormats.Bitmap) возвращает всегда false хотя локально в отладке всё работает корректно. Ощущение такое что что с правами. Пробовал в пуле настройках сменить integrated на classic не помогло. Тут пробовал дать всем права на обьект MicrosoftWord тоже не помогло. Может кто сталкивался. Рад буду любому совету.
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022258
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
воу воу Clipboard с клиента на сервак? вы в той ветке то написали?
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022260
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перечитал, в той, по безопасности не пропустит
http://stackoverflow.com/questions/10699983/asp-net-mvc-paste-to-clipboard
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022298
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С клиентом нет никакоц связи. вот код. Файл для обработки лежит на сервере. мне с него надо выташить картинуку. но на сервере тут data.GetFormats() ничего нет а вотладке есть.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
 [STAThread()]
        public void ReadDoc()
        {
            try
            {
                _objCommonMethods.WriteLogs("//=============Read Started================//", Server.MapPath(WordLogPath));
                AddTables();
                object isvisible = true;
                object readOnlys = false;

                string physicalpath = HostingEnvironment.MapPath(@"~\DocumentPath\" + FileUpload1.FileName);                              //HostingEnvironment.MapPath(ConfigurationManager.AppSettings["Temp"] + FileUpload1.FileName);
                FileUpload1.SaveAs(physicalpath);
                _objCommonMethods.WriteLogs("Document saved sucessfully", Server.MapPath(WordLogPath));
                object fileName = physicalpath;
                _objCommonMethods.WriteLogs(physicalpath, Server.MapPath(WordLogPath));
                object missing = System.Reflection.Missing.Value;
                _objCommonMethods.WriteLogs("Before Document Open", Server.MapPath(WordLogPath));

                Microsoft.Office.Interop.Word.Document doc = wordApplication.Documents.Open(ref fileName
                         , ref missing, ref readOnlys, ref missing, ref missing,
                         ref missing, ref missing, ref missing, ref missing,
                         ref missing, ref missing, ref missing, ref missing,
                         ref missing, ref missing, ref missing);
                if (doc != null)
                {
                    _objCommonMethods.WriteLogs("Document Open complete", Server.MapPath(WordLogPath));

                    for (int i = 1; i <= doc.Paragraphs.Count; i++)
                    {
                        Paragraph objparagraph = doc.Paragraphs[i];
                        _objCommonMethods.WriteLogs(i.ToString(), Server.MapPath(WordLogPath));

                        if (objparagraph.Range.Text.Trim() != "")
                        {
                            if (objparagraph.Range.InlineShapes.Count > 0)
                            {
                                isexist = true;
                                para = string.Empty;
                                Range r = objparagraph.Range;
                                for (int j = 1; j <= r.Words.Count; j++)
                                {
                                    string str = objparagraph.Range.Words[j].Text;
                                    int k = objparagraph.Range.Words[j].InlineShapes.Count;

                                    if (k > 0)
                                    {
                                        
                                        for (int inlineid = 1; inlineid <= k; inlineid++)
                                        {
                                            _objCommonMethods.WriteLogs("before inlineshape", Server.MapPath(WordLogPath));
                                            var inlineShapeId = inlineid;
                                            Microsoft.Office.Interop.Word.InlineShape inlineShape = wordApplication.ActiveDocument.Paragraphs[i].Range.Words[j].InlineShapes[inlineid];
                                            if (inlineShape.Type != WdInlineShapeType.wdInlineShapePicture)
                                                continue;
                                            _objCommonMethods.WriteLogs(" before inlineshape selection", Server.MapPath(WordLogPath));
                                            inlineShape.Select();
                                            wordApplication.Selection.CopyAsPicture();
                                            var thread = new Thread(() => path = SaveInlineShapeToFile());
                                            _objCommonMethods.WriteLogs("after thread invoke", Server.MapPath(WordLogPath));

                                            thread.SetApartmentState(ApartmentState.STA);
                                            thread.Start();

                                            thread.Join();
                                            para = para + "<img src=" + ConfigurationManager.AppSettings["img"].ToString() + path + "/>";
                                        }
                                    }

                                }
                            }
                            if (!isexist)
                            {
                                para = objparagraph.Range.Text;

                            }
                            DataRow dr = dtfinal.NewRow();
                            dr["content"] = para;
                            dtfinal.Rows.Add(dr);
                            isexist = false;
                        }
                    }
                }
                else _objCommonMethods.WriteLogs("Doc object is null. Path: " + fileName, Server.MapPath(WordLogPath));
                GridView1.DataSource = dtfinal;
                GridView1.DataBind();
            }
            catch (Exception ex)
            {

                _objCommonMethods.WriteLogs("Error:------" + ex.ToString(), Server.MapPath(WordLogPath));

            }

        }
 
        [STAThread]
        protected string SaveInlineShapeToFile()
        {
            try
            {
                IDataObject data1 = Clipboard.GetDataObject();
                if (Clipboard.GetDataObject() != null)
                {
                    _objCommonMethods.WriteLogs("inside of Clipboard.GetDataObject()", Server.MapPath(WordLogPath));
                    IDataObject data = Clipboard.GetDataObject();

                    _objCommonMethods.WriteLogs("Formats in clipboard" + string.Join("|", data.GetFormats()), Server.MapPath(WordLogPath));
                    if (data.GetDataPresent(DataFormats.Bitmap))
                    {
                        _objCommonMethods.WriteLogs("IT's Bitmap", Server.MapPath(WordLogPath));

                        _objCommonMethods.WriteLogs(data.ToString(), Server.MapPath(WordLogPath));
                        _objCommonMethods.WriteLogs(data.GetFormats().ToString(), Server.MapPath(WordLogPath));

                        _objCommonMethods.WriteLogs("Before bitmap", Server.MapPath(WordLogPath));
                        Bitmap bmp = (Bitmap)data.GetData(typeof(System.Drawing.Bitmap));//DataFormats.Bitmap, true
                        _objCommonMethods.WriteLogs("after bitmap", Server.MapPath(WordLogPath));
                        path = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".png";
                        _objCommonMethods.WriteLogs(bmp.GetType().ToString(), Server.MapPath(WordLogPath));
                        _objCommonMethods.WriteLogs("Image Path Saving" + path, Server.MapPath(WordLogPath));
                        _objCommonMethods.WriteLogs("Before bitmap save", Server.MapPath(WordLogPath));
                        bmp.Save(HostingEnvironment.MapPath("~/QImages/") + path);
                        _objCommonMethods.WriteLogs("after bitmap save", Server.MapPath(WordLogPath));
                    }
                }
            }
            catch (Exception ex)
            {
                _objCommonMethods.WriteLogs("Error:------" + ex.ToString(), Server.MapPath(WordLogPath));
                //_objCommonMethods.ErrorMessage(ex.Message, Key);
                //_objCommonMethods.LogsMessage(ex.Message, Key);
                try
                {

                }
                catch (Exception logex)
                {

                }
            }
            return path;
        }
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022355
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lansОбрабатываю документ с использованием Microsoft.Office.Interop.Word.
если на сервере - уволить разработчика без выходного пособия.
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022386
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я знаю что плохо. Мне надо только ошибку исправать. Проект поддерживается и разработан индусами.
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022393
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022395
Фотография lans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е Не получится
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022865
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lans,

уволить индусов, нанять таджиков
...
Рейтинг: 0 / 0
На сервере Clipboard.GetDataObject() пустой
    #39022876
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код, конечно, просто чудесен :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / На сервере Clipboard.GetDataObject() пустой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]