C# Azure的Fineuploader,空图像问题
我使用fineuploader的直接azure上传模块已经很长时间了。我上传的图片有困难。问题是,有时上传的图像是空的。从存储资源管理器查看时,文件存在,但大小为0 kb。当我从浏览器查看图像时,它是空白的 插件的代码C# Azure的Fineuploader,空图像问题,c#,.net,azure,fine-uploader,C#,.net,Azure,Fine Uploader,我使用fineuploader的直接azure上传模块已经很长时间了。我上传的图片有困难。问题是,有时上传的图像是空的。从存储资源管理器查看时,文件存在,但大小为0 kb。当我从浏览器查看图像时,它是空白的 插件的代码 var uploader = new qq.azure.FineUploader({ debug: true, element: document.getElementById('fine-uploader'), request: { en
var uploader = new qq.azure.FineUploader({
debug: true,
element: document.getElementById('fine-uploader'),
request: {
endpoint: 'https://xxxxx.blob.core.windows.net/assetscontainer'
},
signature: {
endpoint: '/File/GetSasKey',
cors: {
expected: true,
sendCredentials: false
}
},
uploadSuccess: {
endpoint: '/File/Success'
},
deleteFile: {
enabled: true
},
callbacks: {
onSubmit: function (id, name) {
var extension = name.substr((name.lastIndexOf('.') + 1));
var uuid = this.getUuid(id);
this.setUuid(id, "JobOrder_" + uuid);
this.setUploadSuccessParams({ entityID: 0, entityType: "orderID" }, id)
},
onComplete: function (id, fileName, responseJSON) {
console.log(responseJSON);
}
}
});
sas生成过程的代码
[Route("sas")]
[HttpGet]
[AuthorizationType("*")]
public async Task<string> GetSasKey(string blobUri)
{
var credentials = new StorageCredentials("xxxxxxxxxxxx", "afxxxxxasfasf==");
var blob = new CloudBlockBlob(new Uri(blobUri), credentials);
var storageAccount = new CloudStorageAccount(credentials, true);
var sasParameters = new SharedAccessBlobPolicy()
{
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1),
Permissions = SharedAccessBlobPermissions.Write | SharedAccessBlobPermissions.Delete
};
var sasToken = blob.GetSharedAccessSignature(sasParameters);
var returnValue = blob.Uri.AbsoluteUri + sasToken;
return returnValue;
}
这可能是Fine Uploader的问题 FineUploader是一个开源项目,一年多前关闭 如果在代码中发现了安全缺陷,那么依赖于非活动的开源项目可能是个问题
我的建议是更换Fine Uploader。有关可能的替代方案列表,请参阅:(本文是在Fine Uploader关闭之前发表的)
public JsonResult Success (string blob, string uuid, string name, string container, int entityID, string entityType)
{
//do some work
}