是否有使用JavaScript完成的本地文件操作?我正在寻找一种可以在没有安装空间的情况下完成的解决方案,例如需要AIR.
具体来说,我想从文件中读取内容并将这些内容写入另一个文件.在这一点上,我并不担心获得权限,只是假设我已经拥有这些文件的完全权限.
我有一种场景,我必须使用 Cypress 命令验证下载文件的数据。文件类型:- pdf、word、excel。我有被调用的服务器 API 操作的 URL,作为响应,它返回 pdf 文件。我需要使用 Cypress 命令和 Typescript(插件和类型)来实现。
我能够获得下载的状态,甚至 response.body 也有一些文本,但它需要一些解析器来解析响应正文。下面是我尝试过的代码。
const oReq = new XMLHttpRequest();
oReq.open("GET", href as string, true);
oReq.responseType = "arraybuffer";
oReq.onload = () => {
if (oReq.readyState === oReq.DONE) {
if (oReq.status === 200) {
// tried parsing the response.
// looking for any parser which can parse the given reponse body into Text or json
}
}
}
cy.request(href).then((response) => {
expect(response.status).to.equal(200);
expect(response.body).not.to.null;
const headerValue = response.headers["content-disposition"];
// expect(headerValue).to.equal("attachment; filename=ExperimentEntityList.<FileExtension-PDF | …Run Code Online (Sandbox Code Playgroud) 我想检查一个文件是否作为我的测试的一部分下载。我只需要在单击按钮后确认文件已下载。我不需要阅读文件及其内容。我下载的所有文件都是 zip,不知道这是否会使它们更难阅读?
it('Initiate download', () => {
cy.get('[id="download-button"]')
.should('be.visible')
.click()
});
it('Verify the downloaded file', () => {
cy.readFile('/Downloads/fileName.zip')
.should('exist')
});
Run Code Online (Sandbox Code Playgroud)