小编Tib*_*ibo的帖子

使用 ReactJS 中的 FileSaver 从 API 请求保存 Excel 文件

在我的 React 应用程序中,我正在查询 API 以检索 Excel 格式的数据库导出。该调用是在我的传奇中执行的。然后我尝试使用 FileSaver 保存 API 的响应

const {headers, data} = response;
FileSaver.saveAs(new Blob([data], {type: headers['content-type']}), filename);
Run Code Online (Sandbox Code Playgroud)

响应的标题如下

{
    content-disposition: "attachment; filename="export.xlsx"; filename*=utf-8''export.xlsx;",
    content-type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
}
Run Code Online (Sandbox Code Playgroud)

当我使用 Postman 调用 API 并保存文件时,我可以像任何标准 Excel 文件一样打开它。但是当我用 FileSaver 保存它时,我无法打开它。它只是十六进制编码。我缺少什么才能以正确的方式保存文件?

reactjs filesaver.js

5
推荐指数
1
解决办法
1782
查看次数

Drupal 8 - 获取 twig 中的节点 url

我有一个内容类型引用另一个内容类型(一对文章),另一个内容类型引用一个内容类型(一篇文章)。

当在我的树枝上单击文章块时,我想重定向到文章网址,所以我想出了下面的代码

{% for i, value in node.field_articles_pairs %}

    <div class="related_article" onclick="onArticleClick({{ path('value.entity.field_articles[0]entity.node.canonical', {'node': node.id}) }})">

    </div>

    <div class="related_article" onclick="onArticleClick({{ path('value.entity.field_articles[0]entity.node.canonical', {'node': node.id}) }})">

    </div>

{% endfor %}

<script>
    function onArticleClick(link) {
        window.location.href = link;
    }
</script>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,我收到一条错误消息,指出该路线不存在。

我如何引用具有如此复杂结构的文章网址?

drupal twig drupal-8 drupal-nodes

3
推荐指数
1
解决办法
6183
查看次数

其中嵌套条件包含在 Sequelize 中

我有一个包含 3 个实体、文档、员工和经理的模型。文档属于员工,员工属于经理。我的目标是检索经理员工的所有文件。

我的一段代码正在工作

Document.findAll({
      include: [{
        model: models.Employee,
        required: true,
        as: 'employee',
        include: [{
          model: models.Manager,
          required: true,
          as: 'manager',
        }],
      }],
Run Code Online (Sandbox Code Playgroud)

但我并不是很满意,我希望我的 where 条件不在我的包含中,但是当我尝试时

where {
        'employee.manager.id': id
      }
Run Code Online (Sandbox Code Playgroud)

出现错误。

是否可以在 include 之外设置 where 条件?

编辑 :

我将代码更改为

Document.findAll({
where: {'$employee.manager.id$': id},
      include: [{
        model: models.Employee,
        required: true,
        as: 'employee',
        include: [{
          model: models.Manager,
          required: true,
          as: 'manager',
          where: { id: managerId },
        }],
      }],
Run Code Online (Sandbox Code Playgroud)

它正在工作。

现在,我想改进我的模型。每个文档作为一种类型(管理、评估...),我想为每个经理检索每种类型的最新文档。我使用了一个工作正常的订单,并尝试使用一个不起作用的组

order: [ [ 'updatedAt', 'DESC' ]],
group: ['type'],
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:列 \"Document.id\" 必须出现在 …

mysql node.js sequelize.js

3
推荐指数
1
解决办法
1万
查看次数

RXJava处理嵌套调用

想象一下,我有一个服务来检索一些作者(id,名字,姓氏,生日,国籍)和第二个服务来检索作者的书(标题,摘要,页数).我希望我的网络电话会给我一份带有他们书籍的作者名单.

为了说明,我的服务会返回AuthorOResponse和BookResponse,我想发出一个Observable of AuthorObject.

public class AuthorResponse {
    private String id;
    private String firstname;
    private String lastname;
    private Date birthday;
    private String nationality;
}

public class BookResponse {
    private String title;
    private String summary;
    private int pageNumber;
}

public class AuthorObject {
    private String id;
    private String firstname;
    private String lastname;
    private Date birthday;
    private String nationality;
    private List<BookObject> books
}
Run Code Online (Sandbox Code Playgroud)

我的服务就像是

Observable<List<AuthorResponse>> getAuthors()
Observable<List<BookResponse>> getAuthorBooks(String authorId)
Run Code Online (Sandbox Code Playgroud)

我想用它们来发出一个Observable,但由于我对getAuthorBooks的每次调用都需要一个作者,所以无法弄明白怎么做.

我想出了一些看起来像这样的东西,但我有一个问题,因为我的concatMap让我"松散"了我的作者.

myServices.getAuthors()
                .map(author -> createAuthor())
                .concatMap(author -> mWebService.getAuthorBooks(author.getId())
                .flatMapIterable(data -> data.items)
                .map(book …
Run Code Online (Sandbox Code Playgroud)

android rx-java retrofit

1
推荐指数
1
解决办法
1514
查看次数