使用ckeditor从用户本地路径上传文件?

时间:2015-07-31 09:26:06

标签: javascript browser ckeditor browser-security

我正在使用ckeditor的ckeditor和uploadimage插件,它帮助我在ckeditor上粘贴或删除时上传图像。但是,当我从具有某些图像的单词复制内容并将其粘贴到ckeditor上时,它不会上传该图像,因为它除了图像之外还有许多其他内容。现在粘贴后,我有来自用户本地的图像路径。我可以使用ckeditor或javascript将这些文件从用户的本地路径上传到我的服务器吗?

http://docs.ckeditor.com/#!/guide/dev_file_upload这是我正在谈论的插件。

2 个答案:

答案 0 :(得分:3)

没有。 JavaScript无法访问您的本地驱动器。 private void productsavebtn_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("Data Source=SAJJAD-PC;Initial Catalog=hotel;Integrated Security=True;"); try { con.Open(); label1.Text = "Connection Successful"; SqlCommand cmd1 = con.CreateCommand(); cmd1.CommandText =( "INSERT INTO product (productname , productprice) VALUES ('" + productnametxtbox.Text + "','" + productpricetxtbox.Text + "')"); try { cmd1.ExecuteNonQuery(); label1.Text = "Data inserted successfully"; } catch (Exception) { label1.Text = "Query execution failed"; } } catch (Exception) { label1.Text = "Connection Failed"; } } 处理从浏览器获取的HTML,它取决于浏览器,操作系统,在这种情况下,取决于MS Word的版本。 JavaScript从Clipboard API获取数据,如果返回本地路径而不是实际数据,没有文件,则无法实现智能化。

但是要确保您可以查看uploadimage包含的内容。可能会发生不仅有HTML而且还有可以上传的文件。添加粘贴侦听器:

dataTransfer

如果它包含文件,您可以使用fileLoader上传文件,并在上传完成后,将本地路径替换为服务器上图像的路径。

答案 1 :(得分:2)

正如Piotr所说,Javascript无法直接读取本地文件或者这将是一个巨大的安全问题。

我知道从M​​S Word粘贴图像的最佳解决方法是使用检测这些图像的Images From Word插件,并通过复制和粘贴提示用户上传它们。

对您来说可能并不重要,但另一件好事是它不需要您更改CKEditor的版本,因为它适用于任何CKEditor 4.x