小编Ron*_*hen的帖子

使用 fetch 上传二进制文件

我正在尝试将文件上传到 Zendesk,API 如下:

curl "https://{subdomain}.zendesk.com/api/v2/uploads.json? 
filename=myfile.dat&token={optional_token}" \
-v -u {email_address}:{password} \
-H "Content-Type: application/binary" \
--data-binary @file.dat -X POST
Run Code Online (Sandbox Code Playgroud)

这是我的代码的样子,而文件是File object我从拖放区获取的:

const formData = new FormData();
formData.append("file", file);

fetch(
  "https://{my-domain}.zendesk.com/api/v2/uploads.json?filename=" + file.name,
  {
    method: "POST",
    body: formData
  }
)
Run Code Online (Sandbox Code Playgroud)

问题是最终文件由于WebKitFormBoundary页眉和页脚而损坏。

这是我尝试过的:

  1. "Content-Type: application/binary"按照 API 的预期设置标头。

  2. 将文件传递给 fetchbody而不FormData(按原样)。

  3. FileReader.readAsBinaryString在将其传递到身体之前使用。

我的尝试都没有成功 - 服务器返回错误,我能够创建文件的唯一方法是使用FormData和不使用任何Content-Type标题,但我没有找到摆脱WebKitFormBoundary页眉和页脚的方法。

例如:

------WebKitFormBoundaryragq26qGRKa2B9Qg
Content-Disposition: form-data; name="file"; filename="README.md"
Content-Type: text/markdown


------WebKitFormBoundaryragq26qGRKa2B9Qg--
Run Code Online (Sandbox Code Playgroud)

binary fetch zendesk-api

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

添加“合并前需要通过状态检查”规则时出现“规则无效”

在 Github 上,我添加了一条新规则,用于在操作失败时阻止 PR 合并,但我不断收到“规则无效”错误。

请帮忙。

github github-actions

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

AngularJS:即时更改ng-animate css

我使用AngularJS处理多阶段Web表单,如下例所示:

http://codepen.io/kwakwak/full/kvEig

当您单击"下一步"按钮,右边的表格幻灯片,但是当你点击"返回"按钮,形式不是左侧的幻灯片,因为它应该,我需要改变"NG-动画" CSS当"回"单击按钮.

我该怎么做到这一点?

谢谢 !

javascript css angularjs

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

测试角度材质表时ExpressionChangedAfterItHasBeenCheckedError

使用Angular 7我将材质表添加到我的应用程序中 ng generate @angular/material:table test-table

在生成的模板内有一个分页器:

<mat-paginator #paginator
    [length]="dataSource.data.length"
    [pageIndex]="0"
    [pageSize]="50"
    [pageSizeOptions]="[25, 50, 100, 250]">
</mat-paginator> 
Run Code Online (Sandbox Code Playgroud)

在初始化时,数据源已更改:

ngOnInit() {
  this.dataSource = new ItemsTableDataSource(
    this.paginator,
    this.sort,
    this.route.paramMap,
    this.afs
 );
}
Run Code Online (Sandbox Code Playgroud)

尝试在Karma上编译组件时,expect(component).toBeTruthy();出现以下错误

Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has 
changed after it was checked. Previous value: 'length: 0'. Current 
value: 'length: 1'.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

karma-jasmine angular-material2 angular angular7

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