angular.js - Imej png yang diperoleh menggunakan $http.get Angular gagal dicache (dipramuat) seperti yang diharapkan
天蓬老师
天蓬老师 2017-05-15 16:51:10
0
2
716

Panggilan khusus adalah seperti berikut Kelima-lima gambar itu semuanya diperoleh melalui ajax terlebih dahulu, tetapi kemudiannya diperoleh dari jauh semula:

Yang betul sepatutnya seperti ini (dengan "dari cache", masa 0ms):

Kod panggilan untuk lima gambar dari 01 hingga 05 adalah seperti berikut (gambar pertama cuba ditukar kepada kaedah lain, tetapi ia masih sama):

    var req = {
        method: 'GET',
        url: '/images/donghua/01.png',
        headers: {
            'Accept':'image/png',
            'Content-Type': 'image/png'
        }
    }
    $http(req).success(..someFunction..);
    $http.get('/images/donghua/03.png').success(..someFunction..);
    $http.get('/images/donghua/04.png').success(..someFunction..);
    $http.get('/images/donghua/05.png').success(..someFunction..);
    $http.get('/images/donghua/02.png').success(..someFunction..); 

Pelayan nodejs ditulis seperti ini:

var express = require('express');
var app = express();
//var fs = require('fs');

app.get('/', function(req, res){
//    fs.readFile('index.html', 'utf-8', function(err,data){
        res.sendFile('index.html',{root:__dirname});
//    });
});

app.get('/images/donghua/:img', function(req, res){
    console.log(__dirname + '/images/donghua/' + req.params.img);
    res.sendFile(req.params.img, {
        root : __dirname + '/images/donghua/'
    });
});

app.get('/angular/:ajs',function(req, res){
    res.sendFile(req.params.ajs, {
        root : __dirname + '/angular-1.3.14/'
    });
})

app.listen(8080);

http://stackoverflow.com/questions/26073183/read-remote-file-and-output-to-browser-work-with-text-and-html-dont-work-wit/26075653#26075653
Saya tidak tahu sama ada soalan pada stackoverflow ini ada kaitan dengan perkara yang saya temui...

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(2)
为情所困

Apabila diletakkan dalam img src, ia akan diambil mengikut alamat imej, dan pramuat sebelumnya tidak akan berfungsi

Jika anda ingin melaksanakan pramuat, anda boleh pramuat imej dan menukarnya kepada base64 dan meletakkannya dalam src

Saya tidak tahu sama ada saya memahami soalan anda dengan betul

迷茫

Permintaan anda harus menambah parameter caching, lalai tidak dicache:

$http.get(imgUrl, {cache : true})
        .success(function(data, state, header, config) {
        })
        .error(function(data, state, header, config) {
            console.log("load error!");
        });

Tambah cache : true untuk memberitahu permintaan sudut kepada cache kepada $http cache

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan