使用" canvas.toblob()后文件名更改!"

时间:2018-05-15 04:01:57

标签: javascript jquery asp.net cropperjs

我正在使用Cropper.js将裁剪的图像发送到服务器,但是当我使用" convtoblob(blob)"并将blob附加到formfile然后将其发送到Web API,原始图像文件名未命中并根据附加的图像更改为" blob"!

请帮助我!

我的部分代码如下所示:

canvas.toBlob(function(blobs) {
  //blobs.nam = FN;
  var formData = new FormData();
  formData.append("up", blobs);
  $.ajax('http://localhost:51320/api/fileupload/uploadfile', {
    method: 'POST',
    processData: false,
    contentType: false,
    data: formData,
    cache: false,

    success: function(d) {
      var d;
      $alert.show().addClass('alert-success').text('Upload success');
    },

    error: function(d) {
      var d;
      avatar.src = initialAvatarURL;
      $alert.show().addClass('alert-warning').text('Upload error');
    },

    complete: function(d) {
      var d;
      $progress.hide();
    }
  });
});

即使我在你看到的时候添加一个新属性" // blobs.nam = FN;"我不能在webAPI中获取它。 我也有canvas-toBlob.js,但有任何变化!

请帮助我!

web api print screen

html page print screen

1 个答案:

答案 0 :(得分:1)

您可以像这样附加表单数据

formData.append('up', blobs, "blobs.jpg");

第三个参数是您的文件名。如果要获取旧文件名,请像这样读取input type="file"var yourFileName = $("#ImageFile").val().split('\\').pop();并将附加代码更改为 formData.append('up', blobs, yourFileName );

它已经过测试并且可以正常工作。