<div id="div-textarea" contenteditable="true" style="width: 260px;"></div>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript">
document.getElementById("div-textarea")
.addEventListener("paste", function(event) {
var items = event.clipboardData.items;
if (items && items[0].type.indexOf("image") > -1) {
var file = items[0].getAsFile();
let sendData = new FormData();
sendData.append("file", file);
$.ajax({
type: 'POST', // 规定请求的类型(GET 或 POST)
url: 'https://xxx', // 请求的url地址
dataType: 'json', //预期的服务器响应的数据类型
contentType: false, //
processData: false, //不处理发送的数据
data: sendData,
success: function(res) {
//...
},
error: function(err) {
//...
},
});
}
});
</script>
contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件。