Javascript:使用对象而不是特定功能的路径

时间:2017-10-16 09:29:51

标签: javascript json excel object path

我正在使用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中,我可以更轻松地传递它的路径吗?

1 个答案:

答案 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,然后再将其发送到存储它的服务器。