Javascript 粘贴图像并发送二进制文件

Javascript 粘贴图像并发送二进制文件,javascript,Javascript,我正在做一个项目,我需要粘贴一个图像,它将上传到我的服务器。它工作得很好,我唯一的问题是返回base64图像。有没有办法修改此代码以返回二进制图像?有 给定item.getAsFile()已经为您提供了一个文件对象,因此您可以使用XMLHttpRequest.send直接上载该对象: document.addEventListener( 'paste', onPaste ); function onPaste( ev ) { const items = ( ev.clipboardDa

我正在做一个项目,我需要粘贴一个图像,它将上传到我的服务器。它工作得很好,我唯一的问题是返回base64图像。有没有办法修改此代码以返回二进制图像?

给定
item.getAsFile()
已经为您提供了一个
文件
对象,因此您可以使用
XMLHttpRequest.send直接上载该对象:

document.addEventListener( 'paste', onPaste );

function onPaste( ev ) {
    const items = ( ev.clipboardData || ev.originalEvent.clipboardData ).items;
    for( const item of items ) {
        if( item.kind === 'file' ) {
            const file = item.getAsFile();
            uploadFileUsingXhr( file );
        }
    }
}

function uploadFileUsingXhr( file ) {
    const xhr = new XMLHttpRequest();
    xhr.open( 'POST', '/your-upload-handler', /*async:*/ true );
    xhr.send( file );
    // TODO: xhr.upload.progress reporting
}