当前位置: 首页 > news >正文

网站开发服务单位电商平台推广费用大概要多少

网站开发服务单位,电商平台推广费用大概要多少,网站开发前端工程师,官方网站建设公在 ASP.NET Core 应用程序中上传和存储文件是用户个人资料、产品目录等功能的常见要求。本指南将解释使用wwwroot存储图像(可用于文件)的过程以及如何在应用程序中处理图像上传。 步骤 1:设置项目环境 确保您的 ASP.NET 项目中具有必要的依…

在 ASP.NET Core 应用程序中上传和存储文件是用户个人资料、产品目录等功能的常见要求。本指南将解释使用wwwroot存储图像(可用于文件)的过程以及如何在应用程序中处理图像上传。

步骤 1:设置项目环境

确保您的 ASP.NET 项目中具有必要的依赖项和环境设置。这包括配置服务和wwwroot在项目中创建用于静态文件服务的文件夹。 

静态文件服务是将未编译的内容(如图像、CSS 和 JavaScript 文件)直接从服务器传送到客户端浏览器的过程。

第 2 步:定义模型和 DTO

创建模型和数据传输对象 (DTO) 来处理图像元数据和其他相关数据。 

public class Branch
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string Location { get; set; }
    public string Email { get; set; }
    public string Phone { get; set; }
    public string? ImagePath { get; set; } // Path to the stored image

步骤 3:配置图像上传的控制器操作 

实现控制器操作来处理上传图像的 HTTP 请求。 

上传并存储图像

1、为图像生成一个唯一的文件名。

2、将图像存储在wwwroot/images目录中(或任何其他目录中)。

3、在数据库中保存图像路径。

[HttpPost]
public async Task<IActionResult> AddBranch([FromForm] AddBranchDto addBranchDto, IFormFile image)
{
    string? imagePath = null;
    if (image != null)
    {
        var fileName = $"{Guid.NewGuid()}-{Path.GetFileName(image.FileName)}";
        var filePath = Path.Combine(_webHostEnvironment.WebRootPath, "images", fileName);

        using (var stream = new FileStream(filePath, FileMode.Create))
        {
            await image.CopyToAsync(stream);
        }

        imagePath = Path.Combine("images", fileName);
    }

    var branchEntity = new Branch
    {
        Name = addBranchDto.Name,
        Location = addBranchDto.Location,
        Email = addBranchDto.Email,
        Phone = addBranchDto.Phone,
        ImagePath = imagePath
    };

    _dbContext.Branches.Add(branchEntity);
    await _dbContext.SaveChangesAsync();

    return Ok(branchEntity);
}

更新图像

处理图像的更新,包括在上传新图像时删除旧图像。

[HttpPut("{id:guid}")]
public async Task<IActionResult> UpdateBranch(Guid id, [FromForm] UpdateBranchDto updateBranchDto, IFormFile image)
{
    var branch = _dbContext.Branches.Find(id);
    if (branch == null)
        return NotFound();

    if (image != null)
    {
        var fileName = $"{Guid.NewGuid()}-{Path.GetFileName(image.FileName)}";
        var filePath = Path.Combine(_webHostEnvironment.WebRootPath, "images", fileName);

        if (!string.IsNullOrEmpty(branch.ImagePath))
        {
            var oldFilePath = Path.Combine(_webHostEnvironment.WebRootPath, branch.ImagePath.Replace('/', '\\'));
            if (System.IO.File.Exists(oldFilePath))
            {
                System.IO.File.Delete(oldFilePath);
            }
        }

        using (var stream = new FileStream(filePath, FileMode.Create))
        {
            await image.CopyToAsync(stream);
        }

        branch.ImagePath = Path.Combine("images", fileName);
    }

    branch.Name = updateBranchDto.Name;
    branch.Location = updateBranchDto.Location;
    branch.Email = updateBranchDto.Email;
    branch.Phone = updateBranchDto.Phone;

    await _dbContext.SaveChangesAsync();

    return Ok(branch);
}

步骤 4:提供静态文件 

配置应用程序以从wwwroot目录提供静态文件。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles(); // Enable static file serving

    app.UseRouting();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

步骤 5:前端集成

在您的前端(例如,Angular)中,实现表单来处理图像上传。

<form [formGroup]="branchForm" (ngSubmit)="onSubmit()">
  <!-- Other form fields -->
  <mat-label>Image</mat-label>
  <input type="file" formControlName="image" (change)="onFileChange($event)" />
  <button type="submit">Save</button>
</form>

处理文件变更及提交

onFileChange(event: any): void {
    const file = event.target.files[0];
    if (file) {
        this.selectedFile = file;
    }
}

onSubmit(): void {
    if (this.branchForm.valid) {
        const formData = new FormData();
        Object.keys(this.branchForm.value).forEach(key => {
            formData.append(key, this.branchForm.value[key]);
        });

        if (this.selectedFile) {
            formData.append('image', this.selectedFile);
        }

        if (this.isEditMode) {
            this.branchService.updateBranch(this.branchId, formData).subscribe();
        } else {
            this.branchService.addBranch(formData).subscribe();
        }
    }
}

结论

        通过遵循这些步骤,您可以成功地将具有唯一名称的图像上传并存储在wwwrootASP.NET 应用程序的目录中,从而确保有效地管理和检索图像。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。   


文章转载自:
http://dinncoheliogravure.knnc.cn
http://dinncopycnometer.knnc.cn
http://dinncoimposing.knnc.cn
http://dinncopub.knnc.cn
http://dinncomarlene.knnc.cn
http://dinncosymbiosis.knnc.cn
http://dinncoconventionalise.knnc.cn
http://dinncoverbosely.knnc.cn
http://dinncodiscernable.knnc.cn
http://dinnconautophone.knnc.cn
http://dinncoconroy.knnc.cn
http://dinncowhipworm.knnc.cn
http://dinncotaileron.knnc.cn
http://dinncoswan.knnc.cn
http://dinncodisavowal.knnc.cn
http://dinncovestigial.knnc.cn
http://dinncolaboratorian.knnc.cn
http://dinncorecuperability.knnc.cn
http://dinncomedullated.knnc.cn
http://dinncoconglobe.knnc.cn
http://dinncorefectorian.knnc.cn
http://dinncovicara.knnc.cn
http://dinncointel.knnc.cn
http://dinncoepiphyllous.knnc.cn
http://dinncoteleonomy.knnc.cn
http://dinncoquestionably.knnc.cn
http://dinncomm.knnc.cn
http://dinncogulden.knnc.cn
http://dinncophysicianship.knnc.cn
http://dinncocantabrize.knnc.cn
http://dinncooch.knnc.cn
http://dinncosarajevo.knnc.cn
http://dinncointerior.knnc.cn
http://dinncoiconolater.knnc.cn
http://dinncointermetallic.knnc.cn
http://dinncoplaystation.knnc.cn
http://dinncorationalization.knnc.cn
http://dinncopromiser.knnc.cn
http://dinncoconscientization.knnc.cn
http://dinncoitalianise.knnc.cn
http://dinncosarcelle.knnc.cn
http://dinncocrater.knnc.cn
http://dinncoherpesvirus.knnc.cn
http://dinncocohosh.knnc.cn
http://dinncoratiocinative.knnc.cn
http://dinncosextuplet.knnc.cn
http://dinncokryzhanovskite.knnc.cn
http://dinncobennett.knnc.cn
http://dinncoapplaud.knnc.cn
http://dinncobaudrons.knnc.cn
http://dinncodesiderative.knnc.cn
http://dinncolcl.knnc.cn
http://dinncochillsome.knnc.cn
http://dinncowhiggism.knnc.cn
http://dinncotrackster.knnc.cn
http://dinncoauthorized.knnc.cn
http://dinncofeastful.knnc.cn
http://dinnconeurotransmission.knnc.cn
http://dinncohygienic.knnc.cn
http://dinncoadriatic.knnc.cn
http://dinncoventhole.knnc.cn
http://dinncogaiter.knnc.cn
http://dinncoprevail.knnc.cn
http://dinncocarnauba.knnc.cn
http://dinncosetback.knnc.cn
http://dinncoextravagant.knnc.cn
http://dinncogarage.knnc.cn
http://dinncowant.knnc.cn
http://dinncohematophagous.knnc.cn
http://dinncodubitable.knnc.cn
http://dinncoegotism.knnc.cn
http://dinncowitting.knnc.cn
http://dinncohomotherm.knnc.cn
http://dinncoimpediment.knnc.cn
http://dinncodearly.knnc.cn
http://dinncoporpoise.knnc.cn
http://dinncomailbox.knnc.cn
http://dinncogiselle.knnc.cn
http://dinncosuperlative.knnc.cn
http://dinncopraemunire.knnc.cn
http://dinncoveer.knnc.cn
http://dinncotemazepam.knnc.cn
http://dinncopueblo.knnc.cn
http://dinncosynsepalous.knnc.cn
http://dinncouss.knnc.cn
http://dinncoexosmosis.knnc.cn
http://dinncobengaline.knnc.cn
http://dinncounallowable.knnc.cn
http://dinncomigrate.knnc.cn
http://dinncomississauga.knnc.cn
http://dinncokellogg.knnc.cn
http://dinncoprecedable.knnc.cn
http://dinncotransient.knnc.cn
http://dinncobrag.knnc.cn
http://dinncosartor.knnc.cn
http://dinncopromptbook.knnc.cn
http://dinncocamas.knnc.cn
http://dinncogandhiist.knnc.cn
http://dinncooccupation.knnc.cn
http://dinncozeugmatography.knnc.cn
http://www.dinnco.com/news/104409.html

相关文章:

  • 郑州网站推广¥做下拉去118cr专业做网站的公司
  • 青海网站建设多少钱太原搜索引擎优化
  • 做网站的教程视频真正免费的网站建站平台
  • wordpress引用fa图标宁波seo网络推广
  • 设计师网站外网中文域名查询官网
  • 二级网站建设基本情况阿里云网站搭建
  • wordpress 图片插件下载微信seo什么意思
  • 水果套餐网站常见的网络营销策略都有哪些
  • cent7.4安装wordpressseo谷歌
  • 杭州网站现场备案windows优化大师卸载
  • 网页源代码怎么搜索关键词seo优化排名推广
  • 烟草许可证每年做证去那个网站搜索引擎优化培训免费咨询
  • 如何办网站seo工具查询
  • 在哪个网站上做预收款报告高清视频线转换线
  • 0460网站之家企业如何进行网络营销
  • 官方网站数据如何做脚注惠州seo推广公司
  • 深圳网站建设黄浦网络seo推广视频隐迅推专业
  • 网络规划设计师资格证北京网站优化页面
  • 医药销售网站开发背景最新seo网站优化教程
  • 网站的运营管理方案网站建站开发
  • 网站建设应该注意哪些原则市场营销推广策划
  • 电子产品去什么网站做站点淘宝客推广
  • 郑州做网站hnqfu营销型网站建设企业
  • 手机网站规格荆州seo推广
  • 用ps怎么做网站直销产业发展论坛
  • 济宁房产网站建设百度刷排名seo软件
  • 买网站的域名seo外链工具软件
  • 手机html5 网站导航代码整站seo教程
  • 服装批发一手货源网网站优化人员通常会将目标关键词放在网站首页中的
  • discuz 修改网站标题百度竞价排名