Javascript 如何在Angular 6应用程序中使用带有CKEditor 4的图像上载插件?
我正在使用作为富文本编辑器Javascript 如何在Angular 6应用程序中使用带有CKEditor 4的图像上载插件?,javascript,angular,ckeditor,image-uploading,Javascript,Angular,Ckeditor,Image Uploading,我正在使用作为富文本编辑器 我想能够上传文章到一个服务器,其中包含文本和图像在同一个请求。 我已经检查了CKEditor文档中的图像上传插件,并按照文档中提到的那样做了,但它仍然不适合我 这是我的package.json文件: { "name": "cbms", "version": "0.0.0", "license": "MIT", "scripts&q
我想能够上传文章到一个服务器,其中包含文本和图像在同一个请求。
我已经检查了CKEditor文档中的图像上传插件,并按照文档中提到的那样做了,但它仍然不适合我 这是我的
package.json
文件:
{
"name": "cbms",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/cdk": "^5.0.4",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/http": "^4.0.0",
"@angular/material": "^5.0.4",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "^4.0.0",
"@ng-bootstrap/ng-bootstrap": "^1.1.2",
"@swimlane/ngx-datatable": "^11.1.7",
"@types/ckeditor": "^4.9.7",
"@types/googlemaps": "^3.26.16",
"angular2-image-upload": "^1.0.0-rc.0",
"angular2-moment": "^1.8.0",
"bootstrap": "^4.0.0-beta",
"ckeditor": "^4.11.2",
"core-js": "^2.4.1",
"font-awesome": "^4.7.0",
"ng2-ckeditor": "^1.2.2",
"resolve-url-loader": "^2.1.0",
"rxjs": "^6.3.3",
"rxjs-compat": "^6.3.3",
"tether": "^1.4.0",
"tslib": "^1.9.0",
"typescript": "^3.2.2",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.12.0",
"@angular/cli": "~7.2.1",
"@angular/compiler-cli": "~7.2.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
"bootstrap": "^4.0.0-beta",
"bootstrap-loader": "^2.1.0",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"jquery": "^3.2.1",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.0",
"tether": "^1.4.0",
"ts-node": "~2.0.0",
"tslint": "~4.5.0"
}
}
<ckeditor #ckeditor
[config]="myCkeditorConfig"
[(ngModel)]="ckeditorContent"
>
</ckeditor>
this.myCkeditorConfig = {
toolbar: [
{
name: 'document',
items: ['Print']
},
{
name: 'clipboard',
items: ['Undo', 'Redo']
},
{
name: 'styles',
items: ['Format', 'Font', 'FontSize']
},
{
name: 'colors',
items: ['TextColor', 'BGColor']
},
{
name: 'align',
items: ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock']
},
{
name: 'basicstyles',
items: ['Bold', 'Italic', 'Underline', 'Strike', 'RemoveFormat', 'CopyFormatting']
},
{
name: 'links',
items: ['Link', 'Unlink']
},
{
name: 'paragraph',
items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote']
},
{
name: 'tools',
items: ['Maximize']
},
{
name: 'editing',
items: ['Scayt']
}
],
这是我的Component.html
文件:
{
"name": "cbms",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/cdk": "^5.0.4",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/http": "^4.0.0",
"@angular/material": "^5.0.4",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "^4.0.0",
"@ng-bootstrap/ng-bootstrap": "^1.1.2",
"@swimlane/ngx-datatable": "^11.1.7",
"@types/ckeditor": "^4.9.7",
"@types/googlemaps": "^3.26.16",
"angular2-image-upload": "^1.0.0-rc.0",
"angular2-moment": "^1.8.0",
"bootstrap": "^4.0.0-beta",
"ckeditor": "^4.11.2",
"core-js": "^2.4.1",
"font-awesome": "^4.7.0",
"ng2-ckeditor": "^1.2.2",
"resolve-url-loader": "^2.1.0",
"rxjs": "^6.3.3",
"rxjs-compat": "^6.3.3",
"tether": "^1.4.0",
"tslib": "^1.9.0",
"typescript": "^3.2.2",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.12.0",
"@angular/cli": "~7.2.1",
"@angular/compiler-cli": "~7.2.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
"bootstrap": "^4.0.0-beta",
"bootstrap-loader": "^2.1.0",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"jquery": "^3.2.1",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.0",
"tether": "^1.4.0",
"ts-node": "~2.0.0",
"tslint": "~4.5.0"
}
}
<ckeditor #ckeditor
[config]="myCkeditorConfig"
[(ngModel)]="ckeditorContent"
>
</ckeditor>
this.myCkeditorConfig = {
toolbar: [
{
name: 'document',
items: ['Print']
},
{
name: 'clipboard',
items: ['Undo', 'Redo']
},
{
name: 'styles',
items: ['Format', 'Font', 'FontSize']
},
{
name: 'colors',
items: ['TextColor', 'BGColor']
},
{
name: 'align',
items: ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock']
},
{
name: 'basicstyles',
items: ['Bold', 'Italic', 'Underline', 'Strike', 'RemoveFormat', 'CopyFormatting']
},
{
name: 'links',
items: ['Link', 'Unlink']
},
{
name: 'paragraph',
items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote']
},
{
name: 'tools',
items: ['Maximize']
},
{
name: 'editing',
items: ['Scayt']
}
],
}
我尝试将以下内容添加到配置对象中:
extraPlugins: 'uploadimage',
uploadUrl: 'http://cb2-api.azurewebsites.net/api/Events/1/Artwork
我的最终结果是:
但是,我想要此版本的图像上载:
任何帮助都将不胜感激 要解决这个问题,我必须更改插件。 我使用了版本^2.9.3 具有以下配置的插件:
TS文件: HTML文件:
文章*
我建议使用,它允许您上载文本和图像
它可以集成在角度应用中,您可以阅读这里的说明
您可以使用更改所需的任何配置嗨,我也遇到了同样的问题,只是我使用的是ckeditor4。我只是想看看你是否找到了解决办法嘿,我回答了问题。新插件解决了我的问题!您能告诉我们您用于该问题的解决方案url或插件吗?我在回答中添加了我使用的解决方案。我使用了以下插件:在froala中是否为angular定义了任何用于图像上载的配置对象?为什么要将froala插件用于CKEditor?他们两个都不一样,对吧?是的,他们是。我尝试使用CKEditor,但无法使其在我的环境中运行。所以,我改用了Froala插件