无法成功使用 Convert.FromBase64String on ... C#/.NET Core 中的 base64string
cannot succeed in using Convert.FromBase64String on... base64string in C#/.NET Core
我正在使用 Cropper 在 Web 应用程序中裁剪图像,然后将结果作为 base64 字符串发送到我的 ASP.NET Core
控制器。到目前为止,我还没有弄清楚正确发送它所必需的数据类型,但与此同时 dynamic
或自定义数据类型有效;
我裁剪图片,然后尝试发送;
var base64string = cropperWidgetInstance.getCroppedCanvas().toDataUrl('image/jpeg');
$http.post('url', { data: base64string });
在我的 ASP.NET 控制器中,我正在接收这样的数据;
public async Task<IActionResult> SaveCroppedImage([FromBody] dynamic data) {
}
这为我提供了一个名为 data
的对象,其中包含一个名为 data
的 属性 本身,其中包含这样一个字符串;
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAGTAswD ....
这看起来应该可以正常工作,但是当我尝试使用时
Convert.FromBase64String(data.data)
它给了我例外
icrosoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded method match for 'System.Convert.FromBase64String(string)' has some invalid arguments
我真的不知道这里出了什么问题。我找不到任何关于该主题的文章不遵循与使用 Convert.FromBase64String
.
完全相同的步骤
您有以下形式的数据:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwM
DBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDA
QMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBD/wAARCAGTAswD ....
如果你想在 FromBase64String 中转换它,那么你必须从你的字符串中删除 "data:image/jpeg;base64," 然后将它转换为 FromBase64String
你可以像下面的代码一样替换它
string strdata = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMC....
var strstring = strdata.replace("data:image/jpeg;base64,", '');
然后尝试转换它
Convert.FromBase64String(strstring);
它对我有用试试这个..
我正在使用 Cropper 在 Web 应用程序中裁剪图像,然后将结果作为 base64 字符串发送到我的 ASP.NET Core
控制器。到目前为止,我还没有弄清楚正确发送它所必需的数据类型,但与此同时 dynamic
或自定义数据类型有效;
我裁剪图片,然后尝试发送;
var base64string = cropperWidgetInstance.getCroppedCanvas().toDataUrl('image/jpeg');
$http.post('url', { data: base64string });
在我的 ASP.NET 控制器中,我正在接收这样的数据;
public async Task<IActionResult> SaveCroppedImage([FromBody] dynamic data) {
}
这为我提供了一个名为 data
的对象,其中包含一个名为 data
的 属性 本身,其中包含这样一个字符串;
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAGTAswD ....
这看起来应该可以正常工作,但是当我尝试使用时
Convert.FromBase64String(data.data)
它给了我例外
icrosoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded method match for 'System.Convert.FromBase64String(string)' has some invalid arguments
我真的不知道这里出了什么问题。我找不到任何关于该主题的文章不遵循与使用 Convert.FromBase64String
.
您有以下形式的数据:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwM
DBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDA
QMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBD/wAARCAGTAswD ....
如果你想在 FromBase64String 中转换它,那么你必须从你的字符串中删除 "data:image/jpeg;base64," 然后将它转换为 FromBase64String
你可以像下面的代码一样替换它
string strdata = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMC....
var strstring = strdata.replace("data:image/jpeg;base64,", '');
然后尝试转换它
Convert.FromBase64String(strstring);
它对我有用试试这个..