我已经在Facebook上的画布应用程序中实现了Uploadify jQuery插件的标准Flash版本.
上传在Firefox中完美运行.但是当我尝试在Chrome或IE中启动上传时,它会在控制台中显示此消息:
Uncaught Call to StartUpload failed
对于那些不熟悉Facebook画布应用程序的人来说,它是在Facebook的iframe中运行的PHP页面,可能会导致这个问题 - 尽管它在框架外运行时也不起作用.
我也在Chrome控制台中收到这些错误:
Unsafe JavaScript attempt to access frame with URL https://apps.facebook.com/[app name]/[page name]/ from frame with URL https://[app domain]/[page path]. The frame being accessed set 'document.domain' to 'facebook.com', but the frame requesting access did not. Both must set 'document.domain' to the same value to allow access.
有什么想法可能会发生什么?我已经尝试为Flash 设置crossdomain.xml但没有成功.
这看起来应该很容易,但我无法让它工作.我不知道为什么不这样做.它只显示正常的文件输入.
是否有任何代码/示例来实现这一点.我很沮丧......
谢谢你们.
是否可以使用uploadify允许任何用户从文件对话框中选择文件并将其插入到表单的文件输入元素中?我只需要使用uploadify作为将"上传按钮"设置为图像的方式.
我还可以使用/做什么来将文件输入元素作为图像?
我希望我的文件输入按钮在所有浏览器中看起来都一致.
有没有办法用Selenium有用地测试Uploadify文件上传?我正在使用带有Rails的Capybara,但实际上,任何使用Selenium的解决方案都将成为一个起点.我担心我可能必须禁用Uploadify for Selenium测试.
我在Django上做了相当大的文件上传.文件大小一般为10MB-100MB.
我在Heroku上,我已经达到30秒的请求超时.
为了达到极限,Heroku的建议是从浏览器直接上传到S3.
亚马逊通过向您展示如何编写HTML表单来执行上传来记录此文档.
由于我在使用Django,而不是手工编写HTML,我使用的是django-uploadify-s3(示例).这为我提供了一个SWF对象,用JS包装,执行实际的上传.
这部分工作正常!万岁!
该问题是在捆绑数据返回给我的Django模型在一个健全的方式.现在,数据作为一个简单的URL字符串返回,指向文件的位置.
但是,我以前使用django-storages的S3 Boto来管理我的所有文件FileFields,并以令人愉快的方式为后盾S3BotoStorageFile.
重申一下,S3 Boto在孤立方面工作得很好,上传它是孤立地工作,问题在于将两者结合在一起.
我的理解是,填充的唯一方法FileField是提供文件名和文件内容.当您将文件从浏览器上传到Django时,这没有问题,因为Django将文件内容放在缓冲区中并且可以随意使用它.但是,当像我这样直接进行S3上传时,Django只接收文件名和URL,而不是二进制数据,所以我无法正确填充FieldFile.
任何人都知道将S3Boto的FileField与直接到S3上传结合使用的优雅方式?
另外,基于URL管理S3文件的最佳方法是什么?包括设置到期,密钥ID等.
非常感谢!
我刚开始使用Uploadify flash插件而不是标准的HTML UI.
并遇到了下一个问题:
当我点击"上传文件"链接时,会显示该进度并显示"已完成"状态,但实际上 - 它没有发生任何事情,Java Servlet不会从后端调用.
有上传的servlet和上传进行下一方式早些时候:
< form enctype="multipart/form-data" method="post" target="uploadFrame"
action="<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=${remoteFolder}">...
Run Code Online (Sandbox Code Playgroud)
提供Uploadify插件后,UI 现在看起来像:
插件部分(配置):
<script>
...
oScript.text+= "$j('#uploadify').uploadify({";
oScript.text+= "'uploader' : 'kne-portlets/js/lib/uploadify/scripts/uploadify.swf',";
oScript.text+= "'script' : '<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
oScript.text+= "'cancelImg': 'kne-portlets/js/lib/uploadify/cancel.png',";
oScript.text+= "'folder' : '<%= decodedString %>',";
oScript.text+= "'queueID' : 'fileQueue',";
oScript.text+= "'auto' : false,";
oScript.text+= "'multi' : false,";
//oScript.text+= "'sizeLimit' : 1000";
oScript.text+= "});";
oScript.text+= "});";
...
</script>
Run Code Online (Sandbox Code Playgroud)
'scripts'参数在这里指向后端的Java Servlet
<%= decodedString %>是文件夹路径,其值为\\ file-srv\demo
上传部分:
<input …Run Code Online (Sandbox Code Playgroud) 我在管理管理页面时遇到了一些困难,我不断在Chrome中获得"Aw Snap".
我有一个'商品'管理页面,您可以在其中添加新产品到网站.
如果用户选择"T恤"作为产品类型,则会显示一些新选项.即大小和颜色.
大小只是一个多选框,但单击"添加颜色"会初始化一个阴影框.


阴影框允许用户输入颜色的名称并选择十六进制颜色(通过Wheel Color Picker插件)并上传代表图像(通过Uploadify).提交时,Uploadify脚本上传文件,然后在完成时脚本通过JQuery AJAX将其他颜色信息发送到数据库.
提交按钮脚本:
function add_colour_submit(){
$('#admin-add-colour-response').text('Processing...').fadeIn(1000);
$('#admin-add-colour-image').uploadifySettings('scriptData', {
'title': $('#admin-add-colour-title').val(),
'hex': $('#admin-add-colour-hex').val(),
'gender': $('#admin-add-colour-gender').val()
});
$('#admin-add-colour-image').uploadifyUpload();
}
Run Code Online (Sandbox Code Playgroud)
上传'完成':
'onComplete': function (event, ID, fileObj, response, data) {
$("#admin-add-colour-response").fadeTo(200,0.1,function(){
$("#admin-add-colour-response").html('Complete.').fadeTo(900,1,
function()
{
var responseArray = response.split(',');
var id = responseArray[0];
var title = responseArray[1];
var hex = responseArray[2];
var gender = responseArray[3];
parent.get_colour(id, title, hex, gender);
});
});
}
Run Code Online (Sandbox Code Playgroud)
当AJAX操作完成时,反馈消息显示"完成".
在此之后,JQuery代码以编程方式关闭影子框,并在父页面上创建一个表示提交颜色的小div.

使用此方法添加多个的可能性.

获取颜色功能:
function get_colour(id, title, hex, gender){
$('#sb-nav-close').click(); //trigger shadowbox …Run Code Online (Sandbox Code Playgroud) 我在Asp.net网站上使用Uploadify,页面的URL是/ Resource/Create/id,但是在页面加载uploadify似乎是对该页面的根URL /资源/创建/请求
这导致服务器错误,因为没有提供id并填写我的日志,是否有人知道它可能请求什么,以及是否可以设置为不请求此URL.这是我的JS:
var id = $('#fileUpload').attr('data-id');
$('#fileUpload').uploadify({
'swf': '/Scripts/Libraries/uploadify/uploadify.swf',
'uploader': '/Resource/Upload/' + id
})
Run Code Online (Sandbox Code Playgroud) 我遇到了django-uploadify(多文件上传)应用程序,但在项目的wiki中描述了唯一的模板用法.我需要将它与django admin集成.有任何想法吗?
我的ASP.NET MVC(C#)应用程序使用Uploadify使用SDK for .NET将文件上传到Amazon S3,但它显示错误的上载进度.
当我使用Uploadify将文件直接上传到我们的服务器时,它工作正常.但是,当我使用Amazon S3 TransferUtility.Upload方法上传文件时,进度条快速显示100%完成,但我需要等待很长时间才能获得Uploadify的onComplete事件.我的代码如下所示.
C#代码:
using (transferUtility = new TransferUtility(AWSAccessKey, AWSSecretKey))
{
try
{
TransferUtilityUploadRequest request = new TransferUtilityUploadRequest();
request.WithBucketName(AWSBucket)
.WithKey(folderKey)
.WithTimeout(5 * 60 * 1000)
.WithInputStream(uploadFileStream);
request.WithCannedACL(S3CannedACL.PublicRead);
transferUtility.Upload(request);
}
catch (AmazonS3Exception amazonS3Exception)
{
throw amazonS3Exception;
}
}
Run Code Online (Sandbox Code Playgroud)
JavaScript代码:
jQuery(document).ready(function () {
var allowdfileext='*.doc;*.docx;*.pdf;'
var extarray=allowdfileext.split(';');
jQuery('#proposalUploadFile').uploadify({
'uploader': '/Content/uploadify/uploadify.swf',
'script': '/File/Upload',
'folder': '/uploads',
'buttonImg':'/Content/uploadify/upload-file.jpg',
'cancelImg': '/Content/uploadify/cancel.png',
'auto': true,
'height': '25',
'width': '95',
'wmode':'transparent',
'sizeLimit': '20971520',
'onComplete': fileUploaded,
'multi': false,
'scriptData': {
'saveToFolder': 'Temp',
'fileextension':'*.doc;*.docx;*.pdf;', …Run Code Online (Sandbox Code Playgroud) uploadify ×10
jquery ×5
flash ×3
javascript ×3
amazon-s3 ×2
asp.net ×2
c# ×2
django ×2
file-upload ×2
asp.net-mvc ×1
boto ×1
capybara ×1
color-picker ×1
django-admin ×1
facebook ×1
filefield ×1
java ×1
jsp ×1
multi-upload ×1
selenium ×1
servlets ×1
shadowbox ×1