我正在尝试上传一个excel文件到我的WebApi,并使用它的内容做一些事情。我已经完成了通过上传按钮发送文件的extJs部分。(下面的代码)
我的问题是我不知道如何构建webApi部分来处理excel文件。我猜我必须有一个HttpPost。
假WebApi:
public string SampleUploadFile()
{
return _repo.UploadFile();
}
外部代码:
xtype: 'form',
//renderTo: 'fi-form', //(5)
fileUpload: true, //(1)
width: 500,
frame: true,
title: 'Position Sheet Upload Form',
bodyPadding: '10 10 0',
//bodyStyle: 'padding: 10px 10px 0 10px;',
defaults: {
anchor: '100%',
allowBlank: false,
msgTarget: 'side',
labelWidth: 50
},
//labelWidth: 50,
items: [{
xtype: 'fileuploadfield',
emptyText: 'Select an image',
fieldLabel: 'Image',
name: 'file', //(2)
buttonText: 'Choose a file'
}],
buttons: [{
text: 'Save',
handler: function () {
if (this.up('form').getForm().isValid()) {
this.up('form').getForm().submit({
url: 'Home/Upload',
waitMsg: 'Uploading your file...',
success: function (form, o) //(3)
{
Ext.Msg.show({
title: 'Result',
msg: o.result.result,
buttons: Ext.Msg.OK,
icon: Ext.Msg.INFO
});
},
failure: function (form, o) //(4)
{
Ext.Msg.show({
title: 'Result',
msg: o.result.error,
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR
});
}
});
}
}
}]
有没有人知道怎么做?我应该有一个参数是文件吗?
3条答案
按热度按时间lymgl2op1#
您可以像这样处理文件:
tjrkku2a2#
另一种可能的解决方案。Web API方法使用ClosedXML nuget包来读取包含excel内容的流:
sgtfey8w3#
我想分享另一种在WEB API中使用ExcelDataReader.DataSet库实现Upload and Read the EXCEL file的方法。
您可以阅读此article,了解详细的逐步说明。