我正在尝试在我的 M1 Mac 上为 Linux 的 x86_64 目标编译 Rust 代码。我使用 Docker 来实现这一点。
我的 Dockerfile:
FROM rust:latest AS builder
RUN rustup install stable-x86_64-unknown-linux-musl
RUN rustup target add x86_64-unknown-linux-musl
RUN apt -y update
RUN apt install -y musl-tools musl-dev
RUN apt-get install -y build-essential
RUN apt install -y gcc-x86-64-linux-gnu
ADD ./cargo ./cargo/
WORKDIR /cargo
ENV RUSTFLAGS='-C linker=x86_64-linux-gnu-gcc'
ENV CC='gcc'
ENV CC_x86_64_unknown_linux_musl=gcc-x86-64-linux-gnu
ENV CC_x86_64-unknown-linux-musl=gcc-x86-64-linux-gnu
RUN cargo build --target x86_64-unknown-linux-musl --release
Run Code Online (Sandbox Code Playgroud)
但我会得到错误
发生错误:找不到工具。是否已
gcc-x86-64-linux-gnu安装?
我认为应该安装它,因为我安装了它apt install -y gcc-x86-64-linux-gnu。
有人知道为什么会发生这种情况吗?
完整输出:
docker …
我正在我的Ionic App中显示带有pdf.js的pdf文件.我不使用viewer.js和viewer.html,因为我需要一个完全不同的布局.现在我有一个自定义搜索栏,我想在我的pdf文件中突出显示术语.我可以调用这个功能吗?
我正在渲染这样的文件:
$scope.renderPages = function(pdfDoc) {
$scope.pdfFile = pdfDoc;
for(var num = 1; num <= pdfDoc.numPages; num++){
pdfDoc.getPage(num).then($scope.renderPage);
}
}
$scope.renderPage = function(page) {
var viewport = page.getViewport(1);
scale = document.getElementById('viewer').clientWidth / viewport.width;
viewport = page.getViewport(scale);
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
canvas.height = viewport.height;
canvas.width = viewport.width;
var canvasContainer = document.getElementById('viewer');
canvasContainer.appendChild(canvas);
page.render(renderContext);
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div id="viewerContainer" style="padding-bottom: 100%; padding-top: 20px;">
<div id="viewer" class="viewer-styles">
</div>
</div>
Run Code Online (Sandbox Code Playgroud) A 有一个结构体,其属性可以有不同的类型
\n#[derive(Debug, Deserialize, Serialize, Clone)]\npub struct A {\n pub foo: B |\xc2\xa0C\n}\n\n#[derive(Debug, Deserialize, Serialize, Clone)]\npub struct B {\n pub bar: usize\n}\n\n#[derive(Debug, Deserialize, Serialize, Clone)]\npub struct C {\n pub bar2: usize\n}\nRun Code Online (Sandbox Code Playgroud)\nRust 是否有可能实现类似的目标pub foo: B |\xc2\xa0C, so the type will be determined on runtime?
如何动态更改操作栏箭头的颜色?我不想使用像这里那样的主题,因为我的操作栏的颜色也会动态变化。
是否可以?
我正在创建一个显示PDF文件的应用程序。我需要实现搜索功能,以便可以在pdf文件中搜索术语。要显示文件,我正在使用PDFJS。
pdfjs库中包含一些示例,其中包括呈现页面的组件示例,您可以标记文本(https://github.com/mozilla/pdf.js/tree/master/examples/components)。
但是,当我尝试在我的应用程序中使用此代码时,出现了PDFJS.DefaultTextLayerFactory()未定义的错误。我包括以下三个文件:
<script src="lib/pdfviewer/pdf.js"></script>
<script src="lib/pdfviewer/pdf.worker.js"></script>
<script src="lib/pdfviewer/pdf_viewer.js"></script>
<script src="lib/pdfviewer/compatibility.js"></script>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?为什么PDFJS不知道DefaultTextLayerFactory?
我正在开发一个带有angular的Web应用程序,它向Azure API发送请求.API受角度保护.当我在浏览器中调用url时,我会被重定向到microsoft登录页面.登录后我回到了API.
现在,我想从我的角度应用程序向API发送请求:
const auth = btoa("[my username]:[my password]");
headers = {"Authorization": "Basic " + auth};
$http.get("http://[webapp name].azurewebsites.net/api/contacts", {headers: headers}).then(function (response) {
console.log("!!!LoggedIn!!!");
});
Run Code Online (Sandbox Code Playgroud)
我在[azure portal]中将[webapp name] .azurewebsites.net添加到我的CORS中.当我执行此操作时,我收到错误:
[错误]无法加载资源:服务器响应状态为400(错误请求)
[错误]无法加载资源:预检响应不成功
[错误] XMLHttpRequest无法加载http:// [webapp name] .azurewebsites.net/api/contacts
azurewebsites.net/api/contacts.飞行前响应不成功
知道怎么解决吗?
UPDATE
我用这段代码再试一次:
const auth = btoa("[my username]:[my password]");
var config = {headers: {
'Authorization': 'Basic ' + auth,
"Origin": "http://[webapp name].azurewebsites.net/api/contacts",
"Access-Control-Request-Method": "GET",
"Access-Control-Request-Headers": "X-Custom-Header"
}
};
$http.get("http://[webapp name].azurewebsites.net/api/contacts", config).then(function (response) {
console.log("!!!LoggedIn!!!");
});
Run Code Online (Sandbox Code Playgroud)
现在我收到这些错误:
拒绝设置不安全的标题"Origin"
拒绝设置不安全的标题"Access-Control-Request-Method"
拒绝设置不安全的标题"Access-Control-Request-Headers"
对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.响应具有HTTP状态代码400
当我删除这些"不安全的标题"时,最后一条错误消息仍然存在.
为什么Origin自动为空?
我有一个角度组件,它又有另一个组件。因此,组件是嵌套的。
我想注意到所有子组件视图均已完全呈现。我尝试了所有生命周期挂钩
ngAfterContentChecked
和
ngOnChanges
但没有一个人被召集。是否可以识别渲染?
编辑:
我的视图将动态更改。因此,我不仅要在一开始就知道这一点。
我的组件看起来像:
父视图:
<child-1></child-1>
Run Code Online (Sandbox Code Playgroud)
儿童1视图:
<child-2><child-2>
Run Code Online (Sandbox Code Playgroud) 我的问题是每次使用viewer.js呈现pdf文件时,我的应用程序的内存使用量都会增加.
我这样渲染我的pdf:
container = document.getElementById('viewerContainer');
viewer = document.getElementById('viewer');
pdfViewer = new PDFViewer({
container: container,
viewer: viewer
});
$scope.pdfFindController = new PDFFindController({
pdfViewer: pdfViewer
});
pdfViewer.setFindController($scope.pdfFindController);
container.addEventListener('pagesinit', function () {
pdfViewer.currentScaleValue = 'page-width';
});
PDFJS.getDocument($scope.getPageLink(pdf)).then(function (pdfDocument) {
documentPdf = pdfDocument;
pdfViewer.setDocument(pdfDocument);
});
Run Code Online (Sandbox Code Playgroud)
我在单独的视图中呈现文件.当我回到上一个视图并打开另一个文件时,内存使用量增加了大约20MB.
我试过这个:
documentPdf.destroy();
Run Code Online (Sandbox Code Playgroud)
现在,内存使用量略有下降,但没有以前分配的那么多.
这有解决方案吗?
更新:
Pdf.js版本:1.6.210
pdf.js工人版:1.6.210
我想向请求 URL 添加多个具有相同名称的参数。我正在使用 Angular 的$http.
URL 应如下所示:
http://myBaseUrl?name1=value1&name1=value2...
我知道当我将值设置为数组时,可以做这样的事情:
http://myBaseUrl?name1=value1,value2...
但它必须像第一个一样。