javascript - 使用 AngularJS 和 ng 文件上传保持文件重命名的原始格式

标签 javascript angularjs ng-file-upload

我正在使用ng-file-upload在网络应用程序中上传图像。

上传过程运行良好,但是当我尝试使用 momentJS 为每个文件指定一个唯一的名称时,它不会自动保留格式并在不带文件扩展名的情况下保存它。

例如,image.jpg 将变为 12-07-2016-23-36-44

我设法使用以下代码解决了这个问题,但它会将所有图像保存为 JPG,即使它们不是(PNG、GIF...)

$scope.uniquelogo = moment().format('DD-MM-YYYY-HH-mm-ss') + '.jpg';

Upload.upload({
   url: 'upload.php',
   data: {
    file: file,
    name: Upload.rename(file, $scope.uniquelogo)
   }

如何使用 Upload.rename() 并仍保留原始文件格式?

最佳答案

您可以从原始文件名中检索扩展名并使用它来代替 .jpg

function getFileExtension(filename) {
  return filename
    .split('.')    // Split the string on every period
    .slice(-1)[0]; // Get the last item from the split
}

$scope.uniquelogo = moment().format('DD-MM-YYYY-HH-mm-ss');

Upload.upload({
   url: 'upload.php',
   data: {
    file: file,
    name: Upload.rename(file, $scope.uniquelogo + getFileExtension(file.name))
   }
   ...

关于javascript - 使用 AngularJS 和 ng 文件上传保持文件重命名的原始格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38339514/

相关文章:

javascript - ng-文件上传跨域错误

javascript - 无法将图像文件从 ng-file-upload 上传到 Web api

javascript - 为什么我的 javascript Promise 卡在 "pending"上?

javascript - 单击链接后测量处理时间

javascript - Angular ui-router 中的绝对名称

javascript - 注入(inject)/加载包含自注册组件的服务的正确位置是什么?

javascript - 在哪里/如何添加自定义 js magento

javascript - 即使模型已预先初始化,AngularJs 也不会更新 html 中的选择

angularjs - 如何使用 AngularJS 过滤器将表搜索结果默认为隐藏?

javascript - 为什么要使用 ng-file-upload 上传服务