(前端js)
uploader = WebUploader.create({
swf: '../../scripts/webuploader/Uploader.swf',
server: '../Controls/UploadFiles_Save',
pick: '#picker',
resize: false,
auto: true,
accept: {
title: 'Images',
extensions: 'jpg,jpeg,bmp,png',
mimeTypes: 'image/*'
},
formData: { "userid": "", "filetype": "jpg,jpeg,bmp,png" }
});
uploader.on('uploadSuccess', function (file, response) {
if (response.error) {
alert(response.error);
}
else {
$('#HeadImg').attr("src", "../Controls/ShowFile?file=" + response.id + "");
$('#HeadImg').attr("data-img", response.id);
api.setImage("../Controls/ShowFile?file=" + response.id + "");
api.setSelect([0, 0, 200, 200]);
api.ui.selection.addClass('jcrop-selection');
}
});
后端c#方法
Controls/UploadFiles_Save
using (FileStream fs = System.IO.File.Create(saveDir + newFileName))
{
file.CopyTo(fs);
fs.Flush();
}
jObject.Add("id", (saveDir + newFileName).DESEncrypt());
jObject.Add("size", file.Length.ToFileSize());
return jObject.ToString();
}
/Controls/ShowFile
Response.Headers.Add("Server-FileName", fileName);
var tmpContentType = GetHeadType(Path.GetExtension(file).TrimStart('.'));
Response.ContentType = tmpContentType.Item2;
Response.Headers.Add("Content-Disposition", tmpContentType.Item1 + "; filename=" + fileName);
Response.Headers.Add("Content-Length", tmpFile.Length.ToString());
using (var tmpRead = tmpFile.OpenRead())
{
var tmpByte = new byte[2048];
var i = tmpRead.Read(tmpByte, 0, tmpByte.Length);
while (i > 0)
{
Response.Body.WriteAsync(tmpByte, 0, i);
Response.Body.FlushAsync();
i = tmpRead.Read(tmpByte, 0, tmpByte.Length);
}
}
Response.Body.FlushAsync();
Response.Body.DisposeAsync();