ng2-file-upload不保存原始文件名

时间:2017-10-12 06:54:02

标签: angular file-upload angular2-forms ng2-file-upload

我正在使用ng2-file-upload插件上传我的文件但是当我上传文件时,它会更改文件名并在数据库中保存不同的文件名, 有没有办法获取原始文件名。我需要在视图中显示文件的原始名称。

链接到插件= https://www.npmjs.com/package/ng2-file-upload

2 个答案:

答案 0 :(得分:0)

如果其他人遇到此问题,那么我发布的代码是为了您的帮助。 我的输入元素只是忽略参数" 31"我用它来做别的事。你只需要在参数中传递$ event。

<input type="file" ng2FileSelect [uploader]="uploader" placeholder="{{'SALONPROFILE.Trading-Image-Url' | translate}}" (change)="uploadFiles(31,$event)"  name="TradingImageUrl" />

这是我在组件中的函数,我在本地变量this.filenName中保存了orignal文件名,好的是它保存了orignal名称。

    uploadFiles(categoryId: number, $event: any) {
    this.uploader.options.additionalParameter = {
        filecategoryId: categoryId,         
    };
    this.filename= $event.target.files[0].name;
    this.uploader.uploadAll();
}

答案 1 :(得分:0)

您还可以在上传之前获取文件名。 为此FileUploader具有onBeforeUploadItem钩子。

示例:我想将fileName发送到服务器并在发送之前更改URL

const uploader = new FileUploader({
    // options
    url: 'api/files'
});

uploader.onBeforeUploadItem = (item: FileItem) => changeBeforeUpload(item);

const changeBeforeUpload = (item: FileItem) => {
    item.url = `${item.url}/${item.file.name}`;
}