Commit 4b3d0428 authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander.Trofimov

(1.0.0.15): FileConverterUtils2

FileConverterUtils2: добавлена асинхронная операция Download, добавлена функция GetFileFormat по байтам для картинок.
CanvasService.ashx: при скачивании картинок по ссылке добавлена поддержка base64 картинок.
UploadService.ashx: определение типа картинки по содержимому.
js: правки для upload картинок из файла и по ссылке.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@49074 954022d7-b5bf-4e40-9824-e11837661b57
parent f235725e
......@@ -3169,7 +3169,7 @@ function DrawingObjects() {
worksheet.model.workbook.handlers.trigger("asc_onEndAction", c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
}
else {
worksheet.model.workbook.handlers.trigger("asc_onError", _mapAscServerErrorToAscError(data.error), c_oAscError.Level.NoCritical);
worksheet.model.workbook.handlers.trigger("asc_onError", api.asc_mapAscServerErrorToAscError(data.error), c_oAscError.Level.NoCritical);
worksheet.model.workbook.handlers.trigger("asc_onEndAction", c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
}
}
......@@ -4629,6 +4629,44 @@ function DrawingObjects() {
var fileSubmit = frameWindow.document.getElementById("apiiuSubmit");
fileName.onchange = function(e) {
if(e && e.target && e.target.files)
{
var files = e.target.files;
if(files.length > 0)
{
var file = files[0];
//проверяем расширение файла
var sName = file.fileName || file.name;
if(sName)
{
var bSupported = false;
var nIndex = sName.lastIndexOf(".");
if(-1 != nIndex)
{
var ext = sName.substring(nIndex + 1).toLowerCase();
for(var i = 0, length = c_oAscImageUploadProp.SupportedFormats.length; i < length; i++)
{
if(c_oAscImageUploadProp.SupportedFormats[i] == ext)
{
bSupported = true;
break;
}
}
}
if(false == bSupported)
{
worksheet.model.workbook.handlers.trigger("asc_onError", c_oAscError.ID.UplImageExt, c_oAscError.Level.NoCritical);
return;
}
}
var nSize = file.fileSize || file.size;
if(nSize && c_oAscImageUploadProp.MaxFileSize < nSize)
{
worksheet.model.workbook.handlers.trigger("asc_onError", c_oAscError.ID.UplImageSize, c_oAscError.Level.NoCritical);
return;
}
}
}
fileSubmit.click();
worksheet.model.workbook.handlers.trigger("asc_onStartAction", c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
}
......
var g_sMainServiceLocalUrl = "/CanvasService.ashx";var g_sResourceServiceLocalUrl = "/ResourceService.ashx?path=";var g_sUploadServiceLocalUrl = "/UploadService.ashx";var g_sSpellCheckServiceLocalUrl = "/SpellChecker.ashx"; function fSortAscending(a, b){return a - b;}function fSortDescending(a, b){return b - a;} var c_oEditorId = { Word : 0, Speadsheet : 1, Presentation : 2}; var PostMessageType = { UploadImage : 0, ExtensionExist :1}; var c_oAscServerError = { NoError : 0, Unknown : -1, ReadRequestStream : -3, TaskQueue : -20, TaskResult : -40, Storage : -60, StorageFileNoFound : -61, StorageRead : -62, StorageWrite : -63, StorageRemoveDir : -64, StorageCreateDir : -65, StorageGetInfo : -66, Convert : -80, ConvertDownload : -81, ConvertUnknownFormat : -82, ConvertTimeout : -83, ConvertReadFile : -84, Upload : -100, UploadContentLength : -101, UploadExtension : -102, UploadCountFiles : -103, VKey : -120, VKeyEncrypt : -121, VKeyKeyExpire : -122, VKeyUserCountExceed : -123}
\ No newline at end of file
var g_sMainServiceLocalUrl = "/CanvasService.ashx";var g_sResourceServiceLocalUrl = "/ResourceService.ashx?path=";var g_sUploadServiceLocalUrl = "/UploadService.ashx";var g_sSpellCheckServiceLocalUrl = "/SpellChecker.ashx"; function fSortAscending(a, b){return a - b;}function fSortDescending(a, b){return b - a;} var c_oEditorId = { Word : 0, Speadsheet : 1, Presentation : 2}; var PostMessageType = { UploadImage : 0, ExtensionExist :1}; var c_oAscServerError = { NoError : 0, Unknown : -1, ReadRequestStream : -3, TaskQueue : -20, TaskResult : -40, Storage : -60, StorageFileNoFound : -61, StorageRead : -62, StorageWrite : -63, StorageRemoveDir : -64, StorageCreateDir : -65, StorageGetInfo : -66, Convert : -80, ConvertDownload : -81, ConvertUnknownFormat : -82, ConvertTimeout : -83, ConvertReadFile : -84, Upload : -100, UploadContentLength : -101, UploadExtension : -102, UploadCountFiles : -103, VKey : -120, VKeyEncrypt : -121, VKeyKeyExpire : -122, VKeyUserCountExceed : -123} var c_oAscImageUploadProp = {// ( ie9), web.common MaxFileSize:25000000, //25 mb SupportedFormats:[ "jpg", "jpeg", "jpe", "png", "gif", "bmp"] };
\ No newline at end of file
......
......@@ -803,10 +803,14 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
break;
case "err":
result = {returnCode: c_oAscError.Level.Critical, val:parseInt(incomeObject.data)};
oThis.handlers.trigger("asc_onError", _mapAscServerErrorToAscError(parseInt(incomeObject.data)), c_oAscError.Level.Critical);
oThis.handlers.trigger("asc_onError", asc_mapAscServerErrorToAscError(parseInt(incomeObject.data)), c_oAscError.Level.Critical);
if(callback)
callback(result);
break;
default:
if(callback)
callback(incomeObject);
break;
}
}
},
......@@ -2085,8 +2089,15 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
},
asc_addImageDrawingObject: function(imageUrl) {
var ws = this.wb.getWorksheet();
return ws.objectRender.addImageDrawingObject(imageUrl, null);
var rData = {"id":this.documentId, "c":"imgurl", "data": imageUrl};
var oThis = this;
this._asc_sendCommand( function(incomeObject){
if(null != incomeObject && "imgurl" == incomeObject.type)
{
var ws = oThis.wb.getWorksheet();
return ws.objectRender.addImageDrawingObject(incomeObject.data, null);
}
}, JSON.stringify(rData) );
},
asc_showImageFileDialog: function (options) {
......@@ -3007,7 +3018,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
init(obj);
};
function _mapAscServerErrorToAscError(nServerError)
function asc_mapAscServerErrorToAscError(nServerError)
{
var nRes = c_oAscError.ID.Unknown;
switch(nServerError)
......@@ -3223,6 +3234,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
prot["asc_decreaseFontSize"] = prot.asc_decreaseFontSize;
prot["asc_onMouseUp"] = prot.asc_onMouseUp;
prot["asc_mapAscServerErrorToAscError"] = asc_mapAscServerErrorToAscError;
prot["asc_selectFunction"] = prot.asc_selectFunction;
prot["asc_insertHyperlink"] = prot.asc_insertHyperlink;
......
......@@ -2514,6 +2514,21 @@ asc_docs_api.prototype.canUnGroup = function()
}
asc_docs_api.prototype.AddImageUrl = function(url){
if(0 == url.indexOf(this.DocumentUrl))
{
this.AddImageUrlAction(url);
}
else
{
var rData = {"id":documentId, "c":"imgurl", "data": url};
var oThis = this;
sendCommand(this, function(incomeObject){
if(null != incomeObject && "imgurl" == incomeObject.type)
oThis.AddImageUrlAction(incomeObject.data);
}, JSON.stringify(rData) );
}
};
asc_docs_api.prototype.AddImageUrlAction = function(url){
var _image = this.ImageLoader.LoadImage(url, 1);
if (null != _image)
{
......@@ -4131,10 +4146,6 @@ function sendCommand(editor, fCallback, rdata){
case "savepart":
var outputData = JSON.parse(incomeObject.data);
_downloadAs(editor, outputData.format, fCallback, false, outputData.savekey);
break;
case "imgurl":
if(fCallback)
fCallback(incomeObject);
break;
case "getsettings":
if(fCallback)
......@@ -4145,6 +4156,10 @@ function sendCommand(editor, fCallback, rdata){
if(fCallback)
fCallback(incomeObject);
break;
default:
if(fCallback)
fCallback(incomeObject);
break;
}
}
})
......
......@@ -109,10 +109,6 @@ var c_oAscTableBordersType = {
OUTSIDE:7,
ALL:8
};
var c_oAscImageUploadProp = {//Не все браузеры позволяют получить информацию о файле до загрузки(например ie9), меняя параметры здесь надо поменять аналогичные параметры в cwFileUploader.ashx
MaxFileSize:25000000, //25 mb
SupportedFormats:[ "jpg", "jpeg", "jpe", "png", "gif", "bmp"]
};
var FONT_THUMBNAIL_HEIGHT = parseInt(7 * 96.0 / 25.4);
var THEME_THUMBNAIL_WIDTH = 180;
......
......@@ -4636,10 +4636,6 @@ asc_docs_api.prototype.AddImageUrl = function(url, imgProp)
{
this.AddImageUrlAction(url, imgProp);
}
else if(0 == url.indexOf("data:"))
{
this.AddImageUrlAction(url, imgProp);
}
else
{
var rData = {"id":documentId, "c":"imgurl", "data": url};
......
......@@ -122,10 +122,6 @@ var c_oAscTableBordersType = {
OUTSIDE:7,
ALL:8
};
var c_oAscImageUploadProp = {//Не все браузеры позволяют получить информацию о файле до загрузки(например ie9), меняя параметры здесь надо поменять аналогичные параметры в cwFileUploader.ashx
MaxFileSize:25000000, //25 mb
SupportedFormats:[ "jpg", "jpeg", "jpe", "png", "gif", "bmp"]
};
var FONT_THUMBNAIL_HEIGHT = parseInt(7 * 96.0 / 25.4);
var c_oAscStyleImage = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment