我的客户端正在为用户提供选择图片,裁剪并调整大小,然后显示它(在<img>DOM元素中).
如果图片没问题,用户可以将其上传到服务器,以便保存.
由于Ajax请求,我想上传.
我在互联网上找到了大量的例子来上传从客户端PC检索到的原始图像.例如:
$( '#my-form' )
.submit( function( e ) {
$.ajax( {
url: 'http://host.com/action/',
type: 'POST',
data: new FormData( this ),
processData: false,
contentType: false
} );
e.preventDefault();
} );
Run Code Online (Sandbox Code Playgroud)
如果我决定上传通过表单输入检索的图片,这可以正常工作.
在我的情况下,我想上传修改后的图片(保存在<img>元素中)而不是原始图片.
此图片存储为base64图片(有关信息:我使用croppie.js库生成图像).
我不知道如何使用Ajax上传这张图片.
我试图将其作为常规参数上传,但在服务器端,img是一个空字符串:
var url = 'http://host.com/action/';
var data = {};
data.img = $('img#generated-image').attr('src');
$.ajax({url: url, type: "POST", data: data})
.done(function(e){
// Do something
});
// RESULTS in a empty data.img on the server side.
Run Code Online (Sandbox Code Playgroud)
我的问题是在检索"img"参数时服务器具有空字符串.我怀疑图像可能太大而无法传递到服务器或其他一些我不理解的问题....
所以我想知道在没有 …