找回密码
 会员注册
查看: 193|回复: 0

Asp.Net Core文件或图片上传

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962990
发表于 2024-2-29 08:34:18 | 显示全部楼层 |阅读模式

       管理后台上传的图片或文件可能也需要在 Api 项目能够访问,考虑到文件的统一管理,后台的文件默认 是上传到 Api 项目里的。

       Web 项目里的配置文件 appsetting.json 中的 ApiSite 节点就是配置管理后台使用的 Api 地址,所以如果管理后台和 Api 不在一个域名下,就涉及到跨域上传。当然,Api 项目通过配置是 支持跨域请求的, 在 Api 项目的配置文件 appsetting.json 中的 AllowCorsSite 节点就是配置允许的 跨域站点来请求 Api。

1.前端上传图片

  1. function uploadThumbImage(file, callback) {
  2. var formdata = new FormData();
  3. formdata.append("fileList", file);
  4. ys.ajaxUploadFile({
  5. url: '@GlobalContext.SystemConfig.ApiSite' + '/File/UploadFile?fileModule=@UploadFileType.News.ParseToInt()',
  6. data: formdata,
  7. success: function (obj) {
  8. if (obj.Tag == 1) {
  9. if (callback) {
  10. callback('@GlobalContext.SystemConfig.ApiSite' + obj.Data);
  11. }
  12. }
  13. else {
  14. ys.msgError(obj.Message);
  15. }
  16. }
  17. })
  18. }
复制代码

  完成代码,可以参考 方法 uploadThumbImage 的参数file 就是 控件的属性files 数组的值。

  1. $("#thumbImage").imageUpload({ uploadImage: 'uploadThumbImage', limit: 1, context: ctx });
复制代码

2. 后端上传处理

      上面代码里 url 中的/File/UploadFile 就是后端处理上传的 Controller,代码如下,参数 fileModule 表示上传到哪个模块,就是按模块存放文件。

  1. [HttpPost]
  2. public async Task<TData<string>> UploadFile(int fileModule, IFormCollection fileList)
  3. {
  4. TData<string> obj = await FileHelper.UploadFile(fileModule, fileList.Files);
  5. return obj;
  6. }
复制代码


来源:https://blog.csdn.net/sakenc/article/details/118337391
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 13:12 , Processed in 0.654494 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表