Как скачать и переименовать изображение jpg с помощью angularjs - PullRequest
0 голосов
/ 06 июня 2019

Невозможно загрузить и переименовать изображение jpg. Вместо этого он загружает поврежденный файл jpg, поэтому, если вы измените расширение на «.txt», вы увидите там путь к изображению.

Исходный код, с которым я работал, был следующий:

function downloadImg(id){
    var deferred = $q.defer();
    $http({
        method: 'GET',
        url: API_URL + 'image/' + id
    }).then(function(res){
        console.log(res.data);
        if(res.data && res.data.length > 0){
            window.location.href = res.data;
        }
        deferred.resolve();
        }, function(err){
            console.log(err);
            deferred.reject();
        })
    return deferred.promise;
    }

Итак, я просто хочу переименовать изображение до или после его загрузки. Я получаю этот код, и единственное, что мы делаем, это устанавливаем путь к изображению в файл или, в данном случае, [объектный объект] в файле (в зависимости от того, какой код я использую, я заканчиваю с объектом ... или путь к изображению ...).

function downloadImg(id){
    var deferred = $q.defer();
    $http({
        method: 'GET',
        url: API_URL + 'image/' + id,
        responseType: 'blob'
    }).then(function(res){
        console.log(res.data);
        var file = new Blob([res], {type: 'image/jpeg;charset=UTF-8'});
        var fileURL = URL.createObjectURL(file);
        var a = document.createElement("a");
        a.href = fileURL;
        a.download = "newName.jpg";
        a.click();

        deferred.resolve();
    }, function(err){
        console.log(err);
        deferred.reject();
        })
    return deferred.promise;
    }

Также я попытался установить responseType:'arraybuffer' и blob, а также попытался использовать FileSaver.saveAs и попытался создать BLOB-объект из base64, найденный по адресу: http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript

URL моего изображения выглядит примерно так (некоторые вещи я заменяю на «personalName», потому что не могу поделиться изображением): https://personalName.personalName.com/component/get?id=cbd6a354-1700-11e8-b451-0a540af4044a&username=personalName&apiKey=a393ceba-1350-11e6-9382-f23c91df2143

Я ожидал получить исходное изображение jpg, но с новым именем.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...