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

西安医院网站建设百度官网电话

西安医院网站建设,百度官网电话,做网站建设有哪些公司,国外网站做问卷1、后端API 我用的是.net sdk6,所以先安装了这个Aliyun.OSS.SDK.NetCore 下面是后端生成上传Url的参考代码,主意request.ContentType,如果这里要是设置了,那么前端也要设置成一样的,如果前端是获取文件的contentType&…

1、后端API

我用的是.net sdk6,所以先安装了这个Aliyun.OSS.SDK.NetCore

 下面是后端生成上传Url的参考代码,主意request.ContentType,如果这里要是设置了,那么前端也要设置成一样的,如果前端是获取文件的contentType,可以传到后端来使用,我这里就没有进行设置,我目前只传图片。

objectKey是你要上传到的bucket下面的文件夹和你要指定的文件名。

主要是不想把这些key secret暴露在前端,这几个参数首先要保证正确。

private const string AccessKeyId = "你的";
private const string AccessKeySecret = "你的";
private const string Endpoint = "http://oss-cn-beijing.aliyuncs.com"; //改成你的
private const string BucketName = "你的";/// <summary>
/// 获取临时上传路径
/// </summary>
/// <returns></returns>
[Route("get-oss-url"), HttpPost]
[Authorize]
public IActionResult GetUserList([FromBody] FileUploadModel model)
{OutResult outResult = new OutResult();var client = new OssClient(Endpoint, AccessKeyId, AccessKeySecret);// 设置 URL 的有效期(例如 10 分钟)var expiration = DateTime.Now.AddMinutes(15);var objectKey = $"{model.folder}/{ Guid.NewGuid().ToString()+".jpg" }";GeneratePresignedUriRequest request = new GeneratePresignedUriRequest(BucketName, objectKey, SignHttpMethod.Put);request.Expiration = expiration;//request.ContentType = "image/jpeg";var signedUrl = client.GeneratePresignedUri(request);// 生成签名 URL//var signedUrl = client.GeneratePresignedUri(BucketName, objectKey, expiration, SignHttpMethod.Put);outResult.data = signedUrl.ToString();return Ok(outResult);
}

2、前端VUE

主要是几点,

1、调用后端生成预签名的上传url的接口,得到预先签名上传url。

2、Content-Type的设置。

async function beforeUpload(file) {// 检查文件类型和大小var isImage = file.type.startsWith("image/");var isLt2M = file.size / 1024 / 1024 < 2;if (!isImage) {this.$message.error("只能上传图片文件");}if (!isLt2M) {this.$message.error("图片大小不能超过 2MB");}//这里调用后端生成上传url的接口,赋值给了uploadActionawait getOssUploadUrl({folder: "goods"}).then(res => {uploadAction.value = res.data;console.log(uploadAction.value);}).catch(error => {message("获取上传路径失败", { type: "error" });});return isImage && isLt2M;
}
// 这里使用axios进行上传,如果后端使用的是put方法,这里也要用put方法
function handleUpload(options) {const { file } = options;try {// 使用 axios 或其他方式上传文件//const formData = new FormData();//formData.append("file", file);console.log(uploadAction.value);const response = axios.put(uploadAction.value, file, {headers: {"Content-Type": "" //image/jpeg}});// 上传成功,调用 onSuccess 回调options.onSuccess(response);} catch (error) {console.error("上传失败", error);options.onError();}
}function handleSuccess(response, file, fileList) {console.log("文件上传成功", response);
}
const handleRemove: UploadProps["onRemove"] = (uploadFile, uploadFiles) => {console.log(uploadFile, uploadFiles);
};const handlePictureCardPreview: UploadProps["onPreview"] = uploadFile => {dialogImageUrl.value = uploadFile.url!;dialogVisible.value = true;
};<el-form-item label="商品图片" label-width="100"><el-uploadv-model:file-list="fileList":http-request="handleUpload"list-type="picture-card":before-upload="beforeUpload":on-success="handleSuccess":on-preview="handlePictureCardPreview":on-remove="handleRemove"><el-icon><Plus /></el-icon></el-upload><el-dialog v-model="dialogVisible"><img w-full :src="dialogImageUrl" alt="Preview Image" /></el-dialog></el-form-item>

3、阿里云oss的跨域设置

4、遇到的问题

1、遇到的第一个问题就是http://oss-cn-beijing.aliyuncs.com,这个地址用http还是https,这个和你前端最好一致,另外如果用https需要在oss配置证书,我嫌麻烦,直接使用了http。

2、从https改成http,就遇到了跨域的问题,然后就配置跨域。

3、跨域配置完,就遇到了上传403,说签名错误的问题,原来前端是new FormData();上传,后来改成直接传file,后端获取签名的时候也不指定ContentType,就好了。

4、图片可以上传了之后,发现在浏览器里面访问图片的时候不是预览而是下载,而vue里面访问直接就是403,我把防盗链的白名单加上了,因为是本地的测试,加的是localhost,图片在vue内可以显示了,在浏览器里还是下载,这个就先不管了。

http://www.dtcms.com/wzjs/131117.html

相关文章:

  • c asp.net网站开发书怎么做好网站营销推广
  • 找网站建设公司进入百度app查看
  • 品牌推广部广州搜索排名优化
  • 柳州做网站优化app优化排名
  • 怎么做刷网站流量生意平台优化是什么意思
  • 深圳优秀网站建设公司谷歌广告推广怎么做
  • 石家庄网站建设招商汕头百度seo公司
  • 商丘网站制作费用福州网站seo
  • 网站建设与管理题库网络的推广方式有哪些
  • 网站解封原因百度升级最新版本下载安装
  • 南阳响应式网站互联网推广销售
  • 做软件营销网站怎么样关键词数据
  • 静态网站开发的目的重庆森林在线观看
  • 广州优质网站建设案例宁波网站制作与推广价格
  • 有没有专门做装修的网站最新全国疫情实时大数据
  • wordpress gif东莞网站建设优化排名
  • wordpress模板设计网站排名优化查询
  • 2017民非单位年检那个网站做上海比较好的seo公司
  • 朔州网站建设收费惠州seo代理计费
  • 日本做网站seo报名在线咨询
  • 门户网站底部东营网站建设哪家更好
  • 楼市南京做凶宅的网站网上推广平台有哪些
  • 有什么网站可以兼职做翻译广东网站优化公司
  • ps软件下载手机版免费网络营销中的seo是指
  • 济南企业网站发布软文是什么意思
  • 新手做视频网站seo快速排名上首页
  • 网站开发技术与应用试验报告4互联网推广是做什么的
  • 找哪个网站做摩配营销软文范例500
  • 绿色网站风格网站推广的要点
  • 马鞍山网站建设电子商务推广方式