我正在使用excel-as-json
模块(https://github.com/stevetarver/excel-as-json),我已将其设置为将.xlsx
文件翻译为.json
,但我现在更改了它,以便用户在应用程序的前端上传.xlsx
。
我想在上传的Excel文件上运行转换,但由于我让用户上传它 - 我实际上没有路径,只有文件对象本身。因此excel-as-json
告诉我它无法找到src
文件[Object object]
作为json函数调用的excel是:
convertExcel(src, dst, options, callback);
将对象作为src
传递的最佳方法是什么?如果我将.xlsx
存储在我的mongoDB中,我可以更轻松地传递它的路径吗?
答案 0 :(得分:0)
不是解决方案,而是解决方法:让用户在文件路径中复制并使用它。基于以下答案:Getting file full path when uploading file in html in firefox
注意此解决方法仅适用于localhost
解决方案我通过使用其他模块解决了我的问题 - sheet.js。我让用户使用 <ContentPage.Content>
<StackLayout x:Name="layoutWrapper" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<ActivityIndicator Color="{StaticResource headerColor}" IsVisible="{Binding IsBusy}" IsRunning="{Binding IsBusy}" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" />
<Grid x:Name="scannerWrapper" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" IsVisible="{Binding IsBusy, Converter={StaticResource not}" >
<StackLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<StackLayout HeightRequest="20"></StackLayout>
<StackLayout BackgroundColor="White" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<Label TextColor="Black" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="Center" Text="{i18n:Translate ScanInventoryLbl}" />
</StackLayout>
<StackLayout HeightRequest="40"></StackLayout>
<StackLayout BackgroundColor="Black" HorizontalOptions="FillAndExpand" HeightRequest="280" VerticalOptions="FillAndExpand" Spacing="5" Orientation="Horizontal"></StackLayout>
<Label VerticalOptions="FillAndExpand" />
<Label VerticalOptions="FillAndExpand" />
<StackLayout BackgroundColor="White" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<StackLayout x:Name="ipInputLabel" BackgroundColor="White" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Spacing="5" Orientation="Horizontal">
<Label TextColor="Black" HorizontalOptions="EndAndExpand" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="Center" Text="{i18n:Translate NoQRLbl}" />
</StackLayout>
<Label x:Name="versionAppLabel" FontSize="14" TextColor="#1976D2" VerticalOptions="End" HorizontalTextAlignment="Center" />
</StackLayout>
<StackLayout HeightRequest="20"></StackLayout>
</StackLayout>
</Grid>
</StackLayout>
</ContentPage.Content>
标签上传文件,然后使用sheet.js将其解析为json,然后再将其发送到存储它的服务器。