缩略图显示问题
问题描述:
我有MVC3项目& 评估文件上传者。缩略图显示问题
当上传完成后,我可以看到缩略图像这样的jQuery 的伟大工程的代码如下
<script type="text/jscript">
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
action: '@Url.Action("UploadFile")',
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
sizeLimit: 2147483647,
onComplete: function (id, fileName, responseJSON) {
var uploadedFile = "/Images/Orders/thumb-" + responseJSON.uploadedFile;
$("#uploadedImage").attr("src", uploadedFile);
$("#ImageErrorMessage").text("");
alert("Your file has been uploaded.");
}
});
</script>
所以本地。
但是在LIVE网站上根本没有显示缩略图。 (但无论如何我都会看到提醒信息,并且我检查了缩略图图像。)
缩略图的大小约为30 Kb。
所以它应该是,但它没有。
任何线索?谢谢!
答
你有一个硬编码的网址:
var uploadedFile = "/Images/Orders/thumb-" + responseJSON.uploadedFile;
这东西,你不应该在ASP.NET MVC应用程序做。处理网址时,您应该始终使用网址助手。原因是因为当您在IIS中部署应用程序时,您必须将一个虚拟目录名称放在您的URL之前。所以,正确的地址现在是:
var uploadedFile = "/MyAppName/Images/Orders/thumb-" + responseJSON.uploadedFile;
显然具有两个不同的版本,一个是发展,一个用于生产是不可接受的。这就是为什么你应该使用url助手。
所以:
var uploadedFile = '@Url.Content("~/images/orders/thumb-")' + responseJSON.uploadedFile;
,或者如果这是在其中您不能使用服务器端的帮手一个单独的JavaScript文件,你可以声明基础网址作为您的视图中的全局JavaScript变量,然后在这里重用。