我正在使用ckeditor的ckeditor和uploadimage插件,它帮助我在ckeditor上粘贴或删除时上传图像。但是,当我从具有某些图像的单词复制内容并将其粘贴到ckeditor上时,它不会上传该图像,因为它除了图像之外还有许多其他内容。现在粘贴后,我有来自用户本地的图像路径。我可以使用ckeditor或javascript将这些文件从用户的本地路径上传到我的服务器吗?
http://docs.ckeditor.com/#!/guide/dev_file_upload这是我正在谈论的插件。
答案 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无法直接读取本地文件或者这将是一个巨大的安全问题。
我知道从MS Word粘贴图像的最佳解决方法是使用检测这些图像的Images From Word插件,并通过复制和粘贴提示用户上传它们。
对您来说可能并不重要,但另一件好事是它不需要您更改CKEditor的版本,因为它适用于任何CKEditor 4.x