我有一个Flex应用程序,上传文件到我们的网站。我们目前正在努力转移到一个新网站,目前新网站必须通过IP而不是域名访问。
上传应用程序在当前服务器上工作正常,但在新服务器上它给出了上传安全错误。
我尝试将IP添加到crossdomain.xml,但这并没有解决它。
我希望当我们将DNS切换到新服务器时,它就会开始工作,但它能正确工作是非常重要的,马上。
[Event(name="uploadSecurityError", type="flash.events.SecurityErrorEvent")]
private var _refUploadFile:FileReference;
private function continueUpload():void {
disableUI();
if(AlertReturn){
if (_arrUploadFiles.length > 0) {
listFiles.selectedIndex = _numCurrentUpload;
scrollFiles();
// Variables to send along with upload
var sendVars:URLVariables = new URLVariables();
sendVars.dir = String(cboDir.selectedItem.data);
sendVars.uname = String(cboUsername.selectedItem.data);
sendVars.timekey = TimeKey;
sendVars.proc = 0;
var request:URLRequest = new URLRequest();
request.data = sendVars;
request.url = _strUploadUrl;
request.method = URLRequestMethod.POST;
_refUploadFile = new FileReference();
_refUploadFile = listFiles.selectedItem.file;
_refUploadFile.addEventListener(ProgressEvent.PROGRESS, onUploadProgress);
_refUploadFile.addEventListener(Event.COMPLETE, onUploadComplete);
_refUploadFile.addEventListener(IOErrorEvent.IO_ERROR, onUploadIoError);
_refUploadFile.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onUploadSecurityError);
_refUploadFile.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadDataComplete);
_refUploadFile.upload(request, "file", false);
}
}
}
// Called on upload security error
private function onUploadSecurityError(event:SecurityErrorEvent):void {
clearUpload();
var evt:SecurityErrorEvent = new SecurityErrorEvent("uploadSecurityError", false, false, event.text);
dispatchEvent(evt);
}
没关系。我们修改了hosts文件,允许我们使用域名而不是ip,它工作得很好。
现在我必须弄清楚为什么它删除了这个服务器上的文件名的第一个字母,而不是旧的…